Merge branch 'maint-0.4.0'

This commit is contained in:
George Kadianakis 2019-05-15 13:46:20 +03:00
commit 1de11dc47a
2 changed files with 6 additions and 2 deletions

4
changes/bug30475 Normal file
View File

@ -0,0 +1,4 @@
o Minor bugfixes ():
- Avoid a GCC 9.1.1 warning (and possible crash depending on libc
implemenation) when failing to load a hidden service client authorization
file. Fixes bug 30475; bugfix on 0.3.5.1-alpha.

View File

@ -1229,16 +1229,16 @@ load_client_keys(hs_service_t *service)
client_key_file_path = hs_path_from_filename(client_keys_dir_path, client_key_file_path = hs_path_from_filename(client_keys_dir_path,
filename); filename);
client_key_str = read_file_to_str(client_key_file_path, 0, NULL); client_key_str = read_file_to_str(client_key_file_path, 0, NULL);
/* Free immediately after using it. */
tor_free(client_key_file_path);
/* If we cannot read the file, continue with the next file. */ /* If we cannot read the file, continue with the next file. */
if (!client_key_str) { if (!client_key_str) {
log_warn(LD_REND, "Client authorization file %s can't be read. " log_warn(LD_REND, "Client authorization file %s can't be read. "
"Corrupted or verify permission? Ignoring.", "Corrupted or verify permission? Ignoring.",
client_key_file_path); client_key_file_path);
tor_free(client_key_file_path);
continue; continue;
} }
tor_free(client_key_file_path);
client = parse_authorized_client(client_key_str); client = parse_authorized_client(client_key_str);
/* Wipe and free immediately after using it. */ /* Wipe and free immediately after using it. */