Merge branch 'maint-0.2.9' into maint-0.3.2

This commit is contained in:
Nick Mathewson 2018-09-07 08:44:39 -04:00
commit a5ed62f96c
2 changed files with 12 additions and 0 deletions

3
changes/bug27463 Normal file
View File

@ -0,0 +1,3 @@
o Minor bugfixes (onion services):
- Silence a spurious compiler warning in rend_client_send_introduction().
Fixes bug 27463; bugfix on 0.1.1.2-alpha.

View File

@ -238,6 +238,15 @@ rend_client_send_introduction(origin_circuit_t *introcirc,
dh_offset = v3_shift+7+DIGEST_LEN+2+klen+REND_COOKIE_LEN; dh_offset = v3_shift+7+DIGEST_LEN+2+klen+REND_COOKIE_LEN;
} else { } else {
/* Version 0. */ /* Version 0. */
/* Some compilers are smart enough to work out that nickname can be more
* than 19 characters, when it's a hexdigest. They warn that strncpy()
* will truncate hexdigests without NUL-terminating them. But we only put
* hexdigests in HSDir and general circuit exits. */
if (BUG(strlen(rendcirc->build_state->chosen_exit->nickname)
> MAX_NICKNAME_LEN)) {
goto perm_err;
}
strncpy(tmp, rendcirc->build_state->chosen_exit->nickname, strncpy(tmp, rendcirc->build_state->chosen_exit->nickname,
(MAX_NICKNAME_LEN+1)); /* nul pads */ (MAX_NICKNAME_LEN+1)); /* nul pads */
memcpy(tmp+MAX_NICKNAME_LEN+1, rendcirc->rend_data->rend_cookie, memcpy(tmp+MAX_NICKNAME_LEN+1, rendcirc->rend_data->rend_cookie,