diff options
-rw-r--r-- | src/afm-launch.c | 3 | ||||
-rw-r--r-- | src/verbose.c | 8 |
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; } |