From: Nick Mathewson Date: Thu, 19 Apr 2012 03:02:09 +0000 (-0400) Subject: Fix a log-uninitialized-buffer bug. X-Git-Tag: tor-0.2.3.14-alpha~10^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f6afd4efa6c24fab8ace710fc0eac4c8811b93dd;p=thirdparty%2Ftor.git Fix a log-uninitialized-buffer bug. Fix for 5647; bugfix on 0.2.1.5-alpha. --- diff --git a/changes/bug5647 b/changes/bug5647 new file mode 100644 index 0000000000..92f41c8559 --- /dev/null +++ b/changes/bug5647 @@ -0,0 +1,4 @@ + o Major bugfixes: + - Avoid logging uninitialized data when unable to decode a hidden + service descriptor cookie. Fixes bug 5647; bugfix on 0.2.1.5-alpha. + diff --git a/src/or/routerparse.c b/src/or/routerparse.c index 322a2b5713..8c4f582c07 100644 --- a/src/or/routerparse.c +++ b/src/or/routerparse.c @@ -5056,7 +5056,6 @@ rend_parse_client_keys(strmap_t *parsed_clients, const char *ckstr) while (!strcmpstart(current_entry, "client-name ")) { rend_authorized_client_t *parsed_entry; size_t len; - char descriptor_cookie_base64[REND_DESC_COOKIE_LEN_BASE64+2+1]; char descriptor_cookie_tmp[REND_DESC_COOKIE_LEN+2]; /* Determine end of string. */ const char *eos = strstr(current_entry, "\nclient-name "); @@ -5125,7 +5124,7 @@ rend_parse_client_keys(strmap_t *parsed_clients, const char *ckstr) tok->args[0], REND_DESC_COOKIE_LEN_BASE64+2+1) != REND_DESC_COOKIE_LEN)) { log_warn(LD_REND, "Descriptor cookie contains illegal characters: " - "%s", descriptor_cookie_base64); + "%s", escaped(tok->args[0])); goto err; } memcpy(parsed_entry->descriptor_cookie, descriptor_cookie_tmp,