From df5d877282690154ec81b81c458d3badb25aada4 Mon Sep 17 00:00:00 2001 From: Rainer Gerhards Date: Fri, 5 Jul 2013 14:30:24 +0200 Subject: bugfix: omlibdbi did not properly close connection on some errors This happened to errors occuring in Begin/End Transaction entry points. --- plugins/omlibdbi/omlibdbi.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'plugins/omlibdbi/omlibdbi.c') 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 -- cgit v1.2.3