From: Han Zhou <[email protected]>

When a row is deleted, if it is referenced by another row, the
function ovsdb_idl_row_reparse_backrefs() is called but in that
function it doesn't destroy the row, because parameter destroy_dsts
is false when ovsdb_idl_row_reparse_backrefs() calls
ovsdb_idl_row_clear_arcs().

Signed-off-by: Han Zhou <[email protected]>
---
 lib/ovsdb-idl.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/lib/ovsdb-idl.c b/lib/ovsdb-idl.c
index 8cfb201..49fd45c 100644
--- a/lib/ovsdb-idl.c
+++ b/lib/ovsdb-idl.c
@@ -3208,6 +3208,7 @@ ovsdb_idl_delete_row(struct ovsdb_idl_row *row)
         ovsdb_idl_row_destroy(row);
     } else {
         ovsdb_idl_row_reparse_backrefs(row);
+        ovsdb_idl_row_destroy(row);
     }
 }
 
-- 
2.1.0

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to