commit 1de11dc47a81913cf32e7c40834869631c18ba3d
parent 43d41194546dbf6a634648d592e97ccd10b04fda
Author: George Kadianakis <desnacked@riseup.net>
Date: Wed, 15 May 2019 13:46:20 +0300
Merge branch 'maint-0.4.0'
Diffstat:
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/changes/bug30475 b/changes/bug30475
@@ -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.
diff --git a/src/feature/hs/hs_service.c b/src/feature/hs/hs_service.c
@@ -1229,16 +1229,16 @@ load_client_keys(hs_service_t *service)
client_key_file_path = hs_path_from_filename(client_keys_dir_path,
filename);
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 (!client_key_str) {
log_warn(LD_REND, "Client authorization file %s can't be read. "
"Corrupted or verify permission? Ignoring.",
client_key_file_path);
+ tor_free(client_key_file_path);
continue;
}
+ tor_free(client_key_file_path);
client = parse_authorized_client(client_key_str);
/* Wipe and free immediately after using it. */