conf fuzzer: also check for an empty file
authorKurt Roeckx <kurt@roeckx.be>
Wed, 2 Nov 2016 19:45:46 +0000 (20:45 +0100)
committerKurt Roeckx <kurt@roeckx.be>
Thu, 3 Nov 2016 04:13:34 +0000 (05:13 +0100)
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
GH: #1828

fuzz/conf.c

index a76068dd7409934e3295d1ea40cc1ccc85864dba..30b13c84f9f21e9e749c0290d88287f6bc0e4571 100644 (file)
@@ -20,10 +20,15 @@ int FuzzerInitialize(int *argc, char ***argv) {
 }
 
 int FuzzerTestOneInput(const uint8_t *buf, size_t len) {
 }
 
 int FuzzerTestOneInput(const uint8_t *buf, size_t len) {
-    CONF *conf = NCONF_new(NULL);
-    BIO *in = BIO_new(BIO_s_mem());
+    CONF *conf;
+    BIO *in;
     long eline;
 
     long eline;
 
+    if (len == 0)
+        return 0;
+
+    conf = NCONF_new(NULL);
+    in = BIO_new(BIO_s_mem());
     OPENSSL_assert((size_t)BIO_write(in, buf, len) == len);
     NCONF_load_bio(conf, in, &eline);
     NCONF_free(conf);
     OPENSSL_assert((size_t)BIO_write(in, buf, len) == len);
     NCONF_load_bio(conf, in, &eline);
     NCONF_free(conf);