Make sure TMPDIR has a size limit
authorJonathan Dieter <jdieter@gmail.com>
Fri, 14 Sep 2018 14:26:54 +0000 (15:26 +0100)
committerJonathan Dieter <jdieter@gmail.com>
Fri, 14 Sep 2018 14:26:54 +0000 (15:26 +0100)
(Coverity ID: 310902)

Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
src/lib/zck.c

index fd0406794da8a51a5793090d0824a2597ebb19c0..3b2fa07649e0ee0d351edeb8bde5e2030738bd9f 100644 (file)
@@ -129,7 +129,11 @@ int get_tmp_fd(zckCtx *zck) {
 
     if(tmpdir == NULL) {
         tmpdir = "/tmp/";
+    } else if(strlen(tmpdir) > 1024) {
+        set_error(zck, "TMPDIR environmental variable is > 1024 bytes");
+        return -1;
     }
+
     fname = zmalloc(strlen(template) + strlen(tmpdir) + 2);
     strncpy(fname, tmpdir, strlen(tmpdir));
     strncpy(fname+strlen(tmpdir), "/", 2);