diff options
Diffstat (limited to 'sysklogd')
-rw-r--r-- | sysklogd/logger.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/sysklogd/logger.c b/sysklogd/logger.c index 1ed6dc639..1c454e5af 100644 --- a/sysklogd/logger.c +++ b/sysklogd/logger.c | |||
@@ -149,10 +149,19 @@ extern int logger_main(int argc, char **argv) | |||
149 | } | 149 | } |
150 | message = buf; | 150 | message = buf; |
151 | } else { | 151 | } else { |
152 | if (argc >= 1) | 152 | if (argc >= 1) { |
153 | message = *argv; | 153 | int len = 1; /* for the '\0' */ |
154 | else | 154 | for (; *argv != NULL; argv++) { |
155 | len += strlen(*argv); | ||
156 | len += 1; /* for the space between the args */ | ||
157 | message = xrealloc(message, len); | ||
158 | strcat(message, *argv); | ||
159 | strcat(message, " "); | ||
160 | } | ||
161 | message[strlen(message)-1] = '\0'; | ||
162 | } else { | ||
155 | error_msg_and_die("No message\n"); | 163 | error_msg_and_die("No message\n"); |
164 | } | ||
156 | } | 165 | } |
157 | 166 | ||
158 | openlog(name, option, (pri | LOG_FACMASK)); | 167 | openlog(name, option, (pri | LOG_FACMASK)); |