gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r36735 - gnunet/src/namecache


From: gnunet
Subject: [GNUnet-SVN] r36735 - gnunet/src/namecache
Date: Sun, 6 Dec 2015 03:01:44 +0100

Author: daniel
Date: 2015-12-06 03:01:44 +0100 (Sun, 06 Dec 2015)
New Revision: 36735

Modified:
   gnunet/src/namecache/plugin_namecache_flat.c
Log:
namecache: fix NULL-pointer dereference in namecache-flat

namecache-flat crashes if started on an empty or non-existent file.
gnunet-service-[2568]: segfault at 0 ip 00007fe32dc8bb3c sp 00007ffde11826f0 
error 4 in libgnunet_plugin_namecache_flat.so[7fe32dc8a000+202000]
gnunet-service-[2576]: segfault at 0 ip 00007f2a6be75b3c sp 00007ffdf9b6d880 
error 4 in libgnunet_plugin_namecache_flat.so[7f2a6be74000+202000]
gnunet-service-[2581]: segfault at 0 ip 00007ff1dcfb1b3c sp 00007fff834070f0 
error 4 in libgnunet_plugin_namecache_flat.so[7ff1dcfb0000+202000]

This fix at least prevents parsing a 0-byte file, however, looking at
the code it is clear that more needs to be done to prevent crashes in
case of corrupted or incompletely written cache data.

Fixes https://gnunet.org/bugs/view.php?id=4082

Signed-off-by: Daniel Golle <address@hidden>

Modified: gnunet/src/namecache/plugin_namecache_flat.c
===================================================================
--- gnunet/src/namecache/plugin_namecache_flat.c        2015-12-06 02:01:33 UTC 
(rev 36734)
+++ gnunet/src/namecache/plugin_namecache_flat.c        2015-12-06 02:01:44 UTC 
(rev 36735)
@@ -132,6 +132,9 @@
     return GNUNET_SYSERR;
   }
 
+  if (0 == size)
+    return GNUNET_OK;
+
   buffer = GNUNET_malloc (size);
 
   if (GNUNET_SYSERR == GNUNET_DISK_file_read (fh,




reply via email to

[Prev in Thread] Current Thread [Next in Thread]