summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2012-11-08 23:01:39 -0500
committerNick Mathewson <nickm@torproject.org>2012-11-08 23:01:39 -0500
commit713736a6a738aa371176241e11e2f7e06f63523b (patch)
tree7e1b23955c2acfee569736314015f23164eca1a5
parent8b5d95db0df18bca6e608e95248340cf7f67b673 (diff)
downloadtor-713736a6a738aa371176241e11e2f7e06f63523b.tar.gz
tor-713736a6a738aa371176241e11e2f7e06f63523b.zip
Fix a memory leak in handling errors on CERTS cells. bug 7422
-rw-r--r--changes/bug74223
-rw-r--r--src/or/channeltls.c2
2 files changed, 4 insertions, 1 deletions
diff --git a/changes/bug7422 b/changes/bug7422
new file mode 100644
index 0000000000..652f1a2231
--- /dev/null
+++ b/changes/bug7422
@@ -0,0 +1,3 @@
+ o Minor bugfixes:
+ - Fix a memory leak on failing cases of channel_tls_process_certs_cell.
+ Fixes bug 7422; bugfix on 0.2.4.4-alpha.
diff --git a/src/or/channeltls.c b/src/or/channeltls.c
index d094d15af0..ede245894e 100644
--- a/src/or/channeltls.c
+++ b/src/or/channeltls.c
@@ -1522,7 +1522,7 @@ channel_tls_process_certs_cell(var_cell_t *cell, channel_tls_t *chan)
safe_str(chan->conn->base_.address), \
chan->conn->base_.port, (s)); \
connection_or_close_for_error(chan->conn, 0); \
- return; \
+ goto err; \
} while (0)
if (chan->conn->base_.state != OR_CONN_STATE_OR_HANDSHAKING_V3)