ovs-ofctl: Fix write before beginning of string in "add-flow".
authorBen Pfaff <blp@nicira.com>
Tue, 13 Apr 2010 17:30:28 +0000 (10:30 -0700)
committerBen Pfaff <blp@nicira.com>
Wed, 14 Apr 2010 17:26:35 +0000 (10:26 -0700)
If "action" is the first word in a flow specification, then we were writing
one byte before the beginning of the string.  So overwrite the 'a' in
"action" instead; we know it's really there.

Reported-by: Ghanem Bahri <bahri.ghanem@gmail.com>
utilities/ovs-ofctl.c

index 360f881..204e958 100644 (file)
@@ -780,9 +780,9 @@ str_to_flow(char *string, struct ofp_match *match, struct ofpbuf *actions,
         if (!act_str) {
             ovs_fatal(0, "must specify an action");
         }
-        *(act_str-1) = '\0';
+        *act_str = '\0';
 
-        act_str = strchr(act_str, '=');
+        act_str = strchr(act_str + 1, '=');
         if (!act_str) {
             ovs_fatal(0, "must specify an action");
         }