[tor-commits] [tor/master] Add a check_no_tls_errors() to read_to_buf_tls

nickm at torproject.org nickm at torproject.org
Tue Apr 24 15:39:50 UTC 2012


commit e0e4b8475708729a57461bb7336931351b874842
Author: Arturo Filastò <hellais at gmail.com>
Date:   Wed Feb 22 00:29:16 2012 -0800

    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)
---
 changes/bug4528  |    6 ++++++
 src/or/buffers.c |    3 +++
 2 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/changes/bug4528 b/changes/bug4528
new file mode 100644
index 0000000..8703d6a
--- /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 d4fc44b..d60e54e 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) {



More information about the tor-commits mailing list