In routerlist_assert_ok(), check r2 before taking &(r2->cache_info)

Technically, we're not allowed to take the address of a member can't
exist relative to the null pointer.  That makes me wonder how any sane
compliant system implements the offsetof macro, but let's let sleeping
balrogs lie.

Fixes 13096; patch on 0.1.1.9-alpha; patch from "teor", who was using
clang -fsanitize=undefined-trap -fsanitize-undefined-trap-on-error -ftrapv
This commit is contained in:
Nick Mathewson
2014-09-10 23:46:20 -04:00
parent a9b2e5eac6
commit 3c2c6a6116
2 changed files with 5 additions and 1 deletions
+4
View File
@@ -0,0 +1,4 @@
o Minor bugfixes (conformance):
- In routerlist_assert_ok(), don't take the address of a routerinfo's
cache_info member unless that routerinfo is non-NULL. Fixes bug
13096; bugfix on 0.1.1.9-alpha. Patch by "teor".