Found by AddressSanitizer when running OVN tests:
  Direct leak of 64 byte(s) in 1 object(s) allocated from:
      #0 0x498fb2 in calloc 
(/home/runner/work/ovn/ovn/ovn-21.12.90/_build/sub/ic/ovn-ic+0x498fb2)
      #1 0x5f681e in xcalloc__ /home/runner/work/ovn/ovn/ovs/lib/util.c:121:31
      #2 0x5f681e in xzalloc__ /home/runner/work/ovn/ovn/ovs/lib/util.c:131:12
      #3 0x5f681e in xzalloc /home/runner/work/ovn/ovn/ovs/lib/util.c:165:12
      #4 0x5e3697 in ovsdb_idl_txn_add_map_op 
/home/runner/work/ovn/ovn/ovs/lib/ovsdb-idl.c:4057:29
      #5 0x4d3f25 in update_isb_pb_external_ids 
/home/runner/work/ovn/ovn/ovn-21.12.90/_build/sub/../../ic/ovn-ic.c:576:5
      #6 0x4cc4cc in create_isb_pb 
/home/runner/work/ovn/ovn/ovn-21.12.90/_build/sub/../../ic/ovn-ic.c:716:5
      #7 0x4cc4cc in port_binding_run 
/home/runner/work/ovn/ovn/ovn-21.12.90/_build/sub/../../ic/ovn-ic.c:803:21
      #8 0x4cc4cc in ovn_db_run 
/home/runner/work/ovn/ovn/ovn-21.12.90/_build/sub/../../ic/ovn-ic.c:1700:5
      #9 0x4c9c1c in main 
/home/runner/work/ovn/ovn/ovn-21.12.90/_build/sub/../../ic/ovn-ic.c:1984:17
      #10 0x7f9ad9f4a0b2 in __libc_start_main 
(/lib/x86_64-linux-gnu/libc.so.6+0x270b2)

Signed-off-by: Dumitru Ceara <[email protected]>
---
 lib/ovsdb-idl.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/lib/ovsdb-idl.c b/lib/ovsdb-idl.c
index b7ba25eca6b5..46f51a527356 100644
--- a/lib/ovsdb-idl.c
+++ b/lib/ovsdb-idl.c
@@ -4242,6 +4242,10 @@ void
 ovsdb_idl_loop_destroy(struct ovsdb_idl_loop *loop)
 {
     if (loop) {
+        if (loop->committing_txn) {
+            ovsdb_idl_txn_abort(loop->committing_txn);
+            ovsdb_idl_txn_destroy(loop->committing_txn);
+        }
         ovsdb_idl_destroy(loop->idl);
     }
 }
-- 
2.27.0

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

Reply via email to