ovsdb: Fix error leak for negative timeout and invalid until case
authorThomas Graf <tgraf@noironetworks.com>
Thu, 28 Aug 2014 12:40:50 +0000 (14:40 +0200)
committerBen Pfaff <blp@nicira.com>
Thu, 28 Aug 2014 15:40:21 +0000 (08:40 -0700)
Although the check for negative timeout is present, the error string
is overwritten if an invalid "until" is found right after. This leaks
an error string and results in not reporting the negative timeout back
to the user even though it is encountered first.

Signed-off-by: Thomas Graf <tgraf@noironetworks.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
ovsdb/execution.c

index 6314757..2be131d 100644 (file)
@@ -643,6 +643,8 @@ ovsdb_execute_wait(struct ovsdb_execution *x, struct ovsdb_parser *parser,
         } else {
             timeout_msec = LLONG_MAX;
         }
+    }
+    if (!error) {
         if (strcmp(json_string(until), "==")
             && strcmp(json_string(until), "!=")) {
             error = ovsdb_syntax_error(until, NULL,