-coverity
authorMartin Schanzenbach <mschanzenbach@posteo.de>
Thu, 7 Jul 2016 12:35:25 +0000 (12:35 +0000)
committerMartin Schanzenbach <mschanzenbach@posteo.de>
Thu, 7 Jul 2016 12:35:25 +0000 (12:35 +0000)
src/peerstore/plugin_peerstore_flat.c

index 5ffabed8fa4111fc8c49ca7e655a653339b47f35..fd417be05b5f427f34b91928f8eb3bd41e8fb540 100644 (file)
@@ -394,7 +394,7 @@ database_setup (struct Plugin *plugin)
     return GNUNET_SYSERR;
   }
 
-  buffer = GNUNET_malloc (size);
+  buffer = GNUNET_malloc (size) + 1;
 
   if (GNUNET_SYSERR == GNUNET_DISK_file_read (fh,
                                               buffer,
@@ -403,9 +403,12 @@ database_setup (struct Plugin *plugin)
     GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
                 _("Unable to read file: %s.\n"),
                 afsdir);
+    GNUNET_DISK_file_close (fh);
+    GNUNET_free (buffer);
     return GNUNET_SYSERR;
   }
-
+  
+  buffer[size] = '\0';
   GNUNET_DISK_file_close (fh);
   if (0 < size) {
     line = strtok (buffer, "\n");