]> ruderich.org/simon Gitweb - coloredstderr/coloredstderr.git/commitdiff
trackfds.h: Fix invalid write if tracked_fds_count is 0.
authorSimon Ruderich <simon@ruderich.org>
Tue, 4 Jun 2013 01:34:19 +0000 (03:34 +0200)
committerSimon Ruderich <simon@ruderich.org>
Tue, 4 Jun 2013 01:34:19 +0000 (03:34 +0200)
Also fixes missing initialization of env array.

src/trackfds.h

index b26059da533d8119e96551f80acac5bdf3101df0..07cfaa11a5f444ef4f09ef7f11fad79a65ad799c 100644 (file)
@@ -106,7 +106,9 @@ static void update_environment(void) {
     /* An integer (32-bit) has at most 10 digits, + 1 for the comma after each
      * number. Bigger file descriptors (which shouldn't occur in reality) are
      * skipped. */
-    char env[tracked_fds_count * (10 + 1) * sizeof(char)];
+    char env[tracked_fds_count * (10 + 1) + 1 /* to fit '\0' */ ];
+    env[0] = 0;
+
     char *x = env;
 
     size_t i;