This is a corner case.  I doubt that it's triggered in practice outside the
unit tests.

Signed-off-by: Ben Pfaff <b...@nicira.com>
---
 ovsdb/ovsdb-server.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/ovsdb/ovsdb-server.c b/ovsdb/ovsdb-server.c
index 69548c2..6032d73 100644
--- a/ovsdb/ovsdb-server.c
+++ b/ovsdb/ovsdb-server.c
@@ -523,6 +523,10 @@ write_string_string_column(struct ovsdb_row *row, const 
char *column_name,
     datum = get_datum(row, column_name, OVSDB_TYPE_STRING, OVSDB_TYPE_STRING,
                       UINT_MAX);
     if (!datum) {
+        for (i = 0; i < n; i++) {
+            free(keys[i]);
+            free(values[i]);
+        }
         return;
     }
 
-- 
1.7.2.5

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to