diff options
| author | Denis Vlasenko <vda.linux@googlemail.com> | 2007-05-29 21:41:28 +0000 |
|---|---|---|
| committer | Denis Vlasenko <vda.linux@googlemail.com> | 2007-05-29 21:41:28 +0000 |
| commit | 4ef7d3a2de3df27dde80a64987202f10aebfe925 (patch) | |
| tree | c34efb08a5db806cdee923dd81fffdd8c46f0cdd /libbb | |
| parent | fe3e1776ada6bf8cf39e08f4974bd6cc6d29175d (diff) | |
| download | busybox-w32-4ef7d3a2de3df27dde80a64987202f10aebfe925.tar.gz busybox-w32-4ef7d3a2de3df27dde80a64987202f10aebfe925.tar.bz2 busybox-w32-4ef7d3a2de3df27dde80a64987202f10aebfe925.zip | |
verror_msg: don't printf(NULL)
Diffstat (limited to 'libbb')
| -rw-r--r-- | libbb/verror_msg.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/libbb/verror_msg.c b/libbb/verror_msg.c index 526b9d36c..082e7bf3c 100644 --- a/libbb/verror_msg.c +++ b/libbb/verror_msg.c | |||
| @@ -20,6 +20,9 @@ void bb_verror_msg(const char *s, va_list p, const char* strerr) | |||
| 20 | va_list p2; | 20 | va_list p2; |
| 21 | va_copy(p2, p); | 21 | va_copy(p2, p); |
| 22 | 22 | ||
| 23 | if (!s) /* nomsg[_and_die] uses NULL fmt */ | ||
| 24 | s = ""; /* some libc don't like printf(NULL) */ | ||
| 25 | |||
| 23 | if (logmode & LOGMODE_STDIO) { | 26 | if (logmode & LOGMODE_STDIO) { |
| 24 | fflush(stdout); | 27 | fflush(stdout); |
| 25 | fprintf(stderr, "%s: ", applet_name); | 28 | fprintf(stderr, "%s: ", applet_name); |
| @@ -28,7 +31,7 @@ void bb_verror_msg(const char *s, va_list p, const char* strerr) | |||
| 28 | fputs(msg_eol, stderr); | 31 | fputs(msg_eol, stderr); |
| 29 | else | 32 | else |
| 30 | fprintf(stderr, "%s%s%s", | 33 | fprintf(stderr, "%s%s%s", |
| 31 | s ? ": " : "", | 34 | s[0] ? ": " : "", |
| 32 | strerr, msg_eol); | 35 | strerr, msg_eol); |
| 33 | } | 36 | } |
| 34 | if (ENABLE_FEATURE_SYSLOG && (logmode & LOGMODE_SYSLOG)) { | 37 | if (ENABLE_FEATURE_SYSLOG && (logmode & LOGMODE_SYSLOG)) { |
| @@ -36,8 +39,10 @@ void bb_verror_msg(const char *s, va_list p, const char* strerr) | |||
| 36 | vsyslog(LOG_ERR, s, p2); | 39 | vsyslog(LOG_ERR, s, p2); |
| 37 | else { | 40 | else { |
| 38 | char *msg; | 41 | char *msg; |
| 39 | if (vasprintf(&msg, s, p2) < 0) | 42 | if (vasprintf(&msg, s, p2) < 0) { |
| 40 | bb_error_msg_and_die(bb_msg_memory_exhausted); | 43 | fprintf(stderr, "%s: %s\n", applet_name, bb_msg_memory_exhausted); |
| 44 | xfunc_die(); | ||
| 45 | } | ||
| 41 | syslog(LOG_ERR, "%s: %s", msg, strerr); | 46 | syslog(LOG_ERR, "%s: %s", msg, strerr); |
| 42 | free(msg); | 47 | free(msg); |
| 43 | } | 48 | } |
