summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/afm-launch.c3
-rw-r--r--src/verbose.c8
2 files changed, 9 insertions, 2 deletions
diff --git a/src/afm-launch.c b/src/afm-launch.c
index bb528e5..9ed5966 100644
--- a/src/afm-launch.c
+++ b/src/afm-launch.c
@@ -731,6 +731,9 @@ static pid_t launch(
close(rpipe[0]);
+ /* set name by appid */
+ verbose_set_name(desc->appid, 0);
+
/* avoid set-gid effect */
setresgid(groupid, groupid, groupid);
diff --git a/src/verbose.c b/src/verbose.c
index 2045bde..6d0db01 100644
--- a/src/verbose.c
+++ b/src/verbose.c
@@ -43,14 +43,17 @@ void vverbose(int level, const char *file, int line, const char *fmt, va_list ar
void verbose_set_name(const char *name, int authority)
{
+ closelog();
openlog(name, LOG_PERROR, authority ? LOG_AUTH : LOG_USER);
}
#else
+#include <stdlib.h>
+#include <string.h>
#include <unistd.h>
-static const char *appname;
+static char *appname;
static int appauthority;
@@ -79,7 +82,8 @@ void vverbose(int level, const char *file, int line, const char *fmt, va_list ar
void verbose_set_name(const char *name, int authority)
{
- appname = name;
+ free(appname);
+ appname = name ? strdup(name) : NULL;
appauthority = authority;
}