Author: rhs
Date: Mon Oct  8 14:56:32 2012
New Revision: 1395596

URL: http://svn.apache.org/viewvc?rev=1395596&view=rev
Log:
fixed bug where sasl parses beyond its frames

Modified:
    qpid/proton/trunk/proton-c/src/dispatcher/dispatcher.c
    qpid/proton/trunk/proton-c/src/sasl/sasl.c

Modified: qpid/proton/trunk/proton-c/src/dispatcher/dispatcher.c
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/src/dispatcher/dispatcher.c?rev=1395596&r1=1395595&r2=1395596&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/src/dispatcher/dispatcher.c (original)
+++ qpid/proton/trunk/proton-c/src/dispatcher/dispatcher.c Mon Oct  8 14:56:32 
2012
@@ -50,6 +50,7 @@ pn_dispatcher_t *pn_dispatcher(uint8_t f
   disp->available = 0;
 
   disp->halt = false;
+  disp->batch = true;
 
   return disp;
 }
@@ -182,6 +183,8 @@ ssize_t pn_dispatcher_input(pn_dispatche
       read = available;
       break;
     }
+
+    if (!disp->batch) break;
   }
 
   return read - leftover;

Modified: qpid/proton/trunk/proton-c/src/sasl/sasl.c
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/src/sasl/sasl.c?rev=1395596&r1=1395595&r2=1395596&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/src/sasl/sasl.c (original)
+++ qpid/proton/trunk/proton-c/src/sasl/sasl.c Mon Oct  8 14:56:32 2012
@@ -60,6 +60,7 @@ pn_sasl_t *pn_sasl(pn_transport_t *trans
   if (!transport->sasl) {
     pn_sasl_t *sasl = malloc(sizeof(pn_sasl_t));
     sasl->disp = pn_dispatcher(1, sasl);
+    sasl->disp->batch = false;
 
     pn_dispatcher_action(sasl->disp, SASL_INIT, "SASL-INIT", pn_do_init);
     pn_dispatcher_action(sasl->disp, SASL_MECHANISMS, "SASL-MECHANISMS", 
pn_do_mechanisms);



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to