summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArturo Filastò <hellais@gmail.com>2012-02-22 00:29:16 -0800
committerNick Mathewson <nickm@torproject.org>2012-04-24 11:36:38 -0400
commite0e4b8475708729a57461bb7336931351b874842 (patch)
treea81c055ae8b20b6340627069ae20b77100afe894
parent461771ebbce3a86965eb2d696f9d42e9bcb777c9 (diff)
downloadtor-e0e4b8475708729a57461bb7336931351b874842.tar.gz
tor-e0e4b8475708729a57461bb7336931351b874842.zip
Add a check_no_tls_errors() to read_to_buf_tls
Fixes bug #4528 "read_to_buf_tls(): Inconsistency in code". This check was added back in 0.1.0.3-rc, but somehow we forgot to leave it in when we refactored read_to_buf_tls in 0.1.0.5-rc. (patch by Arturo; commit message and changes file by nickm)
-rw-r--r--changes/bug45286
-rw-r--r--src/or/buffers.c3
2 files changed, 9 insertions, 0 deletions
diff --git a/changes/bug4528 b/changes/bug4528
new file mode 100644
index 0000000000..8703d6a010
--- /dev/null
+++ b/changes/bug4528
@@ -0,0 +1,6 @@
+
+ o Minor bugfixes:
+ - Make sure that there are no unhandled pending TLS errors before
+ reading from a TLS stream. We had checks in 0.1.0.3-rc, but
+ lost them in 0.1.0.5-rc when we refactored read_to_buf_tls().
+ Bugfix on 0.1.0.5-rc; fixes bug 4528.
diff --git a/src/or/buffers.c b/src/or/buffers.c
index d4fc44ba9f..d60e54e87a 100644
--- a/src/or/buffers.c
+++ b/src/or/buffers.c
@@ -744,6 +744,9 @@ read_to_buf_tls(tor_tls_t *tls, size_t at_most, buf_t *buf)
{
int r = 0;
size_t total_read = 0;
+
+ check_no_tls_errors();
+
check();
while (at_most > total_read) {