From: Alexander Færøy Date: Wed, 6 Dec 2017 13:52:02 +0000 (+0100) Subject: Check the return value of hs_parse_address(). X-Git-Tag: tor-0.3.3.1-alpha~158 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9fa38bd996e345990b81bce0995a25be2ee4c98f;p=thirdparty%2Ftor.git Check the return value of hs_parse_address(). This patch adds a check for the return value of `hs_parse_address()` in `hs_control_hspost_command()`. Since it should not be possible for `hs_parse_address()` to fail in this context we wrap the error check with the `BUG()` macro. See: https://bugs.torproject.org/24543 --- diff --git a/src/or/hs_control.c b/src/or/hs_control.c index 1b1fe78575..87b4e3fca8 100644 --- a/src/or/hs_control.c +++ b/src/or/hs_control.c @@ -222,7 +222,9 @@ hs_control_hspost_command(const char *body, const char *onion_address, /* This can't fail because we require the caller to pass us a valid onion * address that has passed hs_address_is_valid(). */ - hs_parse_address(onion_address, &identity_pk, NULL, NULL); + if (BUG(hs_parse_address(onion_address, &identity_pk, NULL, NULL) < 0)) { + goto done; // LCOV_EXCL_LINE + } /* Only decode the plaintext part which is what the directory will do to * validate before caching. */