]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Fix a potential null deref when rebuilding md cache
authorSebastian Hahn <sebastian@torproject.org>
Tue, 26 Apr 2011 02:23:35 +0000 (04:23 +0200)
committerNick Mathewson <nickm@torproject.org>
Mon, 9 May 2011 17:19:45 +0000 (13:19 -0400)
Issue discovered using clang's static analyzer

changes/mdesc_null_deref [new file with mode: 0644]
src/or/microdesc.c

diff --git a/changes/mdesc_null_deref b/changes/mdesc_null_deref
new file mode 100644 (file)
index 0000000..30f0280
--- /dev/null
@@ -0,0 +1,5 @@
+  o Minor bugfixes:
+    - Avoid a possible null-pointer dereference when rebuilding the mdesc
+      cache without actually having any descriptors to cache. Bugfix on
+      0.2.2.6-alpha. Issue discovered using clang's static analyzer.
+
index 73d22850096472ea6a043cb24137df6aa3073b58..5740c40d5f959e583d4100b94eecb89f34732d07 100644 (file)
@@ -423,7 +423,7 @@ microdesc_cache_rebuild(microdesc_cache_t *cache, int force)
   cache->journal_len = 0;
   cache->bytes_dropped = 0;
 
-  new_size = (int)cache->cache_content->size;
+  new_size = cache->cache_content ? (int)cache->cache_content->size : 0;
   log_info(LD_DIR, "Done rebuilding microdesc cache. "
            "Saved %d bytes; %d still used.",
            orig_size-new_size, new_size);