From: Ben Pfaff <blp@nicira.com>
Date: Wed, 28 Mar 2012 21:02:57 +0000 (-0700)
Subject: ovsdb-idl: Fix memory leak writing synthetic rows in ovsdb_idl_txn_write().
X-Git-Tag: sliver-openvswitch-0.1-1~146
X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=e787d2f427266b774f67a8f5d5c45e12cbc1687a;p=sliver-openvswitch.git

ovsdb-idl: Fix memory leak writing synthetic rows in ovsdb_idl_txn_write().

This could cause a slow but steady memory leak in ovs-vswitchd.

Found by valgrind.

Signed-off-by: Ben Pfaff <blp@nicira.com>
---

diff --git a/lib/ovsdb-idl.c b/lib/ovsdb-idl.c
index 19ae16fe5..5ad3f5cd9 100644
--- a/lib/ovsdb-idl.c
+++ b/lib/ovsdb-idl.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2009, 2010, 2011 Nicira Networks.
+/* Copyright (c) 2009, 2010, 2011, 2012 Nicira Networks.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -1718,6 +1718,7 @@ ovsdb_idl_txn_write(const struct ovsdb_idl_row *row_,
     size_t column_idx;
 
     if (ovsdb_idl_row_is_synthetic(row)) {
+        ovsdb_datum_destroy(datum, &column->type);
         return;
     }