[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,
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r36735 - gnunet/src/namecache,
gnunet <=