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