scan-build: bulletproof last-chance errormsg generation in rendservice.c

If 'intro' is NULL in these functions, I'm pretty sure that the
error message must be set before we hit the end.  But scan-build
doesn't notice that, and is worried that we'll do a null-pointer
dereference in the last-chance errormsg generation.
This commit is contained in:
Nick Mathewson 2014-04-18 21:24:16 -04:00
parent 1b3bddd013
commit d4ad254917

View File

@ -2041,7 +2041,7 @@ rend_service_decrypt_intro(
if (err_msg_out && !err_msg) { if (err_msg_out && !err_msg) {
tor_asprintf(&err_msg, tor_asprintf(&err_msg,
"unknown INTRODUCE%d error decrypting encrypted part", "unknown INTRODUCE%d error decrypting encrypted part",
(int)(intro->type)); intro ? (int)(intro->type) : -1);
} }
if (status >= 0) status = -1; if (status >= 0) status = -1;
@ -2147,7 +2147,7 @@ rend_service_parse_intro_plaintext(
if (err_msg_out && !err_msg) { if (err_msg_out && !err_msg) {
tor_asprintf(&err_msg, tor_asprintf(&err_msg,
"unknown INTRODUCE%d error parsing encrypted part", "unknown INTRODUCE%d error parsing encrypted part",
(int)(intro->type)); intro ? (int)(intro->type) : -1);
} }
if (status >= 0) status = -1; if (status >= 0) status = -1;