diff options
author | Nick Mathewson <nickm@torproject.org> | 2010-02-07 22:34:08 -0500 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2010-02-07 22:34:08 -0500 |
commit | 080e8f50f87fb7c0c099b1341173fa05c82a42e8 (patch) | |
tree | 2a9b6b13dbe2053618d6af25653e2b4a164ffe0a | |
parent | c10c7c9d839490dc71b576c1ebb1c645ed34131e (diff) | |
parent | dfee17328950628686bf2c78a8983871f36d97cf (diff) | |
download | tor-080e8f50f87fb7c0c099b1341173fa05c82a42e8.tar.gz tor-080e8f50f87fb7c0c099b1341173fa05c82a42e8.zip |
Merge commit 'origin/maint-0.2.1'
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | src/or/rendclient.c | 7 |
2 files changed, 12 insertions, 2 deletions
@@ -51,6 +51,13 @@ Changes in version 0.2.1.23 - 2010-0?-?? automatically discard guards picked using the old algorithm. Fixes bug 1217; bugfix on 0.2.1.3-alpha. Found by Mike Perry. + o Major bugfixes: + - Fix a potential buffer overflow in lookup_last_hid_serv_request() + that could happen on 32-bit platforms with 64-bit time_t. Also fix + a memory leak when requesting a hidden service descriptor we've + requested before. Fixes bug 1242, bugfix on 0.2.0.18-alpha. Found + by aakova. + o Minor bugfixes: - When deciding whether to use strange flags to turn TLS renegotiation on, detect the OpenSSL version at run-time, not compile time. We diff --git a/src/or/rendclient.c b/src/or/rendclient.c index cce8437472..cbdb9a676c 100644 --- a/src/or/rendclient.c +++ b/src/or/rendclient.c @@ -332,9 +332,12 @@ lookup_last_hid_serv_request(routerstatus_t *hs_dir, tor_snprintf(hsdir_desc_comb_id, sizeof(hsdir_desc_comb_id), "%s%s", hsdir_id_base32, desc_id_base32); if (set) { - last_request_ptr = tor_malloc_zero(sizeof(time_t *)); + time_t *oldptr; + last_request_ptr = tor_malloc_zero(sizeof(time_t)); *last_request_ptr = now; - strmap_set(last_hid_serv_requests, hsdir_desc_comb_id, last_request_ptr); + oldptr = strmap_set(last_hid_serv_requests, hsdir_desc_comb_id, + last_request_ptr); + tor_free(oldptr); } else last_request_ptr = strmap_get_lc(last_hid_serv_requests, hsdir_desc_comb_id); |