tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

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:
Achanges/bug30475 | 4++++
Msrc/feature/hs/hs_service.c | 4++--
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. */