From: Arran Cudbard-Bell Date: Fri, 26 May 2017 13:28:39 +0000 (-0400) Subject: CID 1020958: Fix double unlock X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2653e4fb6a7e204c0df4cfc10f1b767b464f34ca;p=thirdparty%2Ffreeradius-server.git CID 1020958: Fix double unlock --- diff --git a/src/modules/rlm_sql/drivers/rlm_sql_firebird/rlm_sql_firebird.c b/src/modules/rlm_sql/drivers/rlm_sql_firebird/rlm_sql_firebird.c index b8a76466cb1..3f768cfe6f7 100644 --- a/src/modules/rlm_sql/drivers/rlm_sql_firebird/rlm_sql_firebird.c +++ b/src/modules/rlm_sql/drivers/rlm_sql_firebird/rlm_sql_firebird.c @@ -145,11 +145,11 @@ static sql_rcode_t sql_query(rlm_sql_handle_t *handle, UNUSED rlm_sql_config_t * } if (conn->statement_type != isc_info_sql_stmt_select) { - if (fb_commit(conn)) goto fail; + if (fb_commit(conn)) goto fail; /* fb_commit unlocks the mutex */ + } else { + pthread_mutex_unlock(&conn->mut); } - pthread_mutex_unlock(&conn->mut); - return 0; }