From: Peter Pentchev Date: Tue, 22 Jun 2010 23:09:01 +0000 (+0200) Subject: check result of vasprintf and asprintf X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4ffb8581ca1b56a28b096d361e8a7084d9ff777e;p=people%2Fms%2Fdma.git check result of vasprintf and asprintf --- diff --git a/util.c b/util.c index 7806e8b..8808d02 100644 --- a/util.c +++ b/util.c @@ -94,9 +94,9 @@ setlogident(const char *fmt, ...) char *sufx; va_start(ap, fmt); - vasprintf(&sufx, fmt, ap); - if (sufx != NULL) { - asprintf(&tag, "%s[%s]", logident_base, sufx); + if (vasprintf(&sufx, fmt, ap) != -1 && sufx != NULL) { + if (asprintf(&tag, "%s[%s]", logident_base, sufx) == -1) + tag = NULL; free(sufx); } va_end(ap); @@ -114,7 +114,8 @@ errlog(int exitcode, const char *fmt, ...) if (fmt != NULL) { va_start(ap, fmt); - vasprintf(&outs, fmt, ap); + if (vasprintf(&outs, fmt, ap) == -1) + outs = NULL; va_end(ap); } @@ -137,7 +138,8 @@ errlogx(int exitcode, const char *fmt, ...) if (fmt != NULL) { va_start(ap, fmt); - vasprintf(&outs, fmt, ap); + if (vasprintf(&outs, fmt, ap) == -1) + outs = NULL; va_end(ap); } @@ -191,8 +193,8 @@ set_username(void) else free(u); } - asprintf(__DECONST(void *, &username), "%ld", (long)uid); - if (username != NULL) + if (asprintf(__DECONST(void *, &username), "%ld", (long)uid) != -1 && + username != NULL) return; username = "unknown-or-invalid-username"; }