Check whether ei is non-NULL before altering it.

This fixes a crash bug if we fail to generate an extrainfo
descriptor.

Fixes bug 8208; bugfix on 0.2.3.16-alpha.
This commit is contained in:
Nick Mathewson 2013-02-11 16:05:03 -05:00
parent b840b76b04
commit e3578d52e4
2 changed files with 10 additions and 2 deletions

4
changes/bug8208 Normal file
View File

@ -0,0 +1,4 @@
o Minor bugfixes:
- Avoid a crash if we fail to generate an extrinfo descriptor.
Fixes bug 8208; bugfix on 0.2.3.16-alpha. Found by Coverity;
this is CID 718634.

View File

@ -1702,9 +1702,13 @@ router_rebuild_descriptor(int force)
anyway, since they don't have a DirPort, and always connect to the
bridge authority anonymously. But just in case they somehow think of
sending them on an unencrypted connection, don't allow them to try. */
ri->cache_info.send_unencrypted = ei->cache_info.send_unencrypted = 0;
ri->cache_info.send_unencrypted = 0;
if (ei)
ei->cache_info.send_unencrypted = 0
} else {
ri->cache_info.send_unencrypted = ei->cache_info.send_unencrypted = 1;
ri->cache_info.send_unencrypted = 1;
if (ei)
ei->cache_info.send_unencrypted = 1;
}
router_get_router_hash(ri->cache_info.signed_descriptor_body,