Browse Source

Stop crashing when the controller asks us to resetconf more than
one config option at once. (Vidalia 0.0.11 does this.)
Backport candidate.


svn:r9545

Roger Dingledine 18 years ago
parent
commit
01ddb05fba
2 changed files with 5 additions and 1 deletions
  1. 4 0
      ChangeLog
  2. 1 1
      src/or/control.c

+ 4 - 0
ChangeLog

@@ -3,6 +3,10 @@ Changes in version 0.1.2.8-alpha - 2007-??-??
     - When we start during an accounting interval before it's time to wake
     - When we start during an accounting interval before it's time to wake
       up, remember to wake up at the correct time. (May fix bug 342.)
       up, remember to wake up at the correct time. (May fix bug 342.)
 
 
+  o Major bugfixes (crashes):
+    - Stop crashing when the controller asks us to resetconf more than
+      one config option at once. (Vidalia 0.0.11 does this.)
+
   o Minor bugfixes (controller):
   o Minor bugfixes (controller):
     - Give the controller END_STREAM_REASON_DESTROY events _before_ we
     - Give the controller END_STREAM_REASON_DESTROY events _before_ we
       clear the corresponding on_circuit variable, and remember later that
       clear the corresponding on_circuit variable, and remember later that

+ 1 - 1
src/or/control.c

@@ -810,9 +810,9 @@ control_setconf_helper(control_connection_t *conn, uint32_t len, char *body,
         ++eq;
         ++eq;
       memcpy(outp, body, eq-body);
       memcpy(outp, body, eq-body);
       outp += (eq-body);
       outp += (eq-body);
-      *outp++ = ' ';
       body = eq+1;
       body = eq+1;
       if (*eq == '=') {
       if (*eq == '=') {
+        *outp++ = ' ';
         if (*body != '\"') {
         if (*body != '\"') {
           while (!TOR_ISSPACE(*body))
           while (!TOR_ISSPACE(*body))
             *outp++ = *body++;
             *outp++ = *body++;