summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--plugins/omlibdbi/omlibdbi.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 0f6df083..0c2c13ba 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,9 @@
---------------------------------------------------------------------------
+Version 7.4.3 [v7.4-stable] 2013-07-??
+- bugfix: omlibdbi did not properly close connection on some errors
+ This happened to errors occuring in Begin/End Transaction entry
+ points.
+---------------------------------------------------------------------------
Version 7.4.2 [v7.4-stable] 2013-07-04
- bugfix: in RFC5425 TLS, multiple wildcards in auth could cause segfault
- bugfix: RainerScript object required parameters were not properly
diff --git a/plugins/omlibdbi/omlibdbi.c b/plugins/omlibdbi/omlibdbi.c
index c3cac539..3beba4f0 100644
--- a/plugins/omlibdbi/omlibdbi.c
+++ b/plugins/omlibdbi/omlibdbi.c
@@ -344,7 +344,8 @@ CODESTARTbeginTransaction
dbi_conn_error(pData->conn, &emsg);
dbgprintf("libdbi server error: begin transaction "
"not successful: %s\n", emsg);
- iRet = RS_RET_SUSPENDED;
+ closeConn(pData);
+ ABORT_FINALIZE(RS_RET_SUSPENDED);
}
}
# endif
@@ -372,6 +373,7 @@ CODESTARTendTransaction
dbi_conn_error(pData->conn, &emsg);
dbgprintf("libdbi server error: transaction not committed: %s\n",
emsg);
+ closeConn(pData);
iRet = RS_RET_SUSPENDED;
}
# endif