]> git.ipfire.org Git - people/ms/dma.git/commitdiff
check result of vasprintf and asprintf
authorPeter Pentchev <roam@ringlet.net>
Tue, 22 Jun 2010 23:09:01 +0000 (01:09 +0200)
committerSimon Schubert <2@0x2c.org>
Mon, 28 Jun 2010 21:17:48 +0000 (23:17 +0200)
util.c

diff --git a/util.c b/util.c
index 7806e8b23ce5d3d4990d92b5d489ca7b7ec30b1a..8808d02ee30d3e46a81f4c14d921f6bd8d98f093 100644 (file)
--- 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";
 }