From: Nick Mathewson Date: Sat, 19 Apr 2014 01:24:16 +0000 (-0400) Subject: scan-build: bulletproof last-chance errormsg generation in rendservice.c X-Git-Tag: tor-0.2.5.4-alpha~14^2~8 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d4ad254917ffa0dfba371624f72bc9e163645b8e;p=thirdparty%2Ftor.git 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. --- diff --git a/src/or/rendservice.c b/src/or/rendservice.c index abd78da73a..5a81d07856 100644 --- a/src/or/rendservice.c +++ b/src/or/rendservice.c @@ -2041,7 +2041,7 @@ rend_service_decrypt_intro( if (err_msg_out && !err_msg) { tor_asprintf(&err_msg, "unknown INTRODUCE%d error decrypting encrypted part", - (int)(intro->type)); + intro ? (int)(intro->type) : -1); } if (status >= 0) status = -1; @@ -2147,7 +2147,7 @@ rend_service_parse_intro_plaintext( if (err_msg_out && !err_msg) { tor_asprintf(&err_msg, "unknown INTRODUCE%d error parsing encrypted part", - (int)(intro->type)); + intro ? (int)(intro->type) : -1); } if (status >= 0) status = -1;