]> granicus.if.org Git - shadow/commitdiff
* libmisc/env.c: Added assertions on the snprintf results.
authornekral-guest <nekral-guest@5a98b0ae-9ef6-0310-add3-de5d479b70d7>
Mon, 27 Apr 2009 20:07:59 +0000 (20:07 +0000)
committernekral-guest <nekral-guest@5a98b0ae-9ef6-0310-add3-de5d479b70d7>
Mon, 27 Apr 2009 20:07:59 +0000 (20:07 +0000)
ChangeLog
libmisc/env.c

index 0b9aa6bb65f8a94d120ab8dce6db63bf85780829..f4ea8dbf09c1a980615c609fab455a487a0c1915 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2009-04-27  Nicolas François  <nicolas.francois@centraliens.net>
+
+       * libmisc/env.c: Added assertions on the snprintf results.
+
 2009-04-27  Nicolas François  <nicolas.francois@centraliens.net>
 
        * NEWS, configure.in: Added configure option --enable-utmpx,
index e2e42986f2d25b98efd0f69c401476777588314a..b46ca10c838e807e30ac541e798e72c7dc947ded 100644 (file)
@@ -34,6 +34,7 @@
 
 #ident "$Id$"
 
+#include <assert.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -92,8 +93,11 @@ void addenv (const char *string, /*@null@*/const char *value)
        size_t n;
 
        if (NULL != value) {
-               newstring = xmalloc (strlen (string) + strlen (value) + 2);
-               sprintf (newstring, "%s=%s", string, value);
+               size_t len = strlen (string) + strlen (value) + 2;
+               int wlen;
+               newstring = xmalloc (len);
+               wlen = snprintf (newstring, len, "%s=%s", string, value);
+               assert (wlen == (int) len -1);
        } else {
                newstring = xstrdup (string);
        }
@@ -187,7 +191,10 @@ void set_env (int argc, char *const *argv)
 
                cp = strchr (*argv, '=');
                if (NULL == cp) {
-                       snprintf (variable, sizeof variable, "L%d", noname++);
+                       int wlen;
+                       wlen = snprintf (variable, sizeof variable, "L%d", noname);
+                       assert (wlen < (int) sizeof(variable));
+                       noname++;
                        addenv (variable, *argv);
                } else {
                        const char **p;