aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorBen Pfaff <blp@nicira.com>2009-12-11 16:58:16 -0800
committerBen Pfaff <blp@nicira.com>2009-12-11 16:58:16 -0800
commitfbd8fd40a33fa96060b4dffd911e04555f8771d4 (patch)
treeaf98b650bc86dba467af2e15c35d0bb9423a2b03 /lib
parent99b2042d3beb2528dc0e6176a8c264b2f977ad1d (diff)
ovsdb-idl: Prevent segfault destroying an incomplete transaction.
Diffstat (limited to 'lib')
-rw-r--r--lib/ovsdb-idl.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/ovsdb-idl.c b/lib/ovsdb-idl.c
index 409ddb0d..8c1dcd8f 100644
--- a/lib/ovsdb-idl.c
+++ b/lib/ovsdb-idl.c
@@ -805,6 +805,9 @@ ovsdb_idl_txn_set_dry_run(struct ovsdb_idl_txn *txn)
void
ovsdb_idl_txn_destroy(struct ovsdb_idl_txn *txn)
{
+ if (txn->status == TXN_INCOMPLETE) {
+ hmap_remove(&txn->idl->outstanding_txns, &txn->hmap_node);
+ }
ovsdb_idl_txn_abort(txn);
free(txn);
}