From: Arran Cudbard-Bell Date: Thu, 12 Jan 2017 15:10:22 +0000 (+0000) Subject: Call finish_select_query if we experience an error retrieving the result X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0980f69a4f2fa081efcc41a054898acc2e95e62e;p=thirdparty%2Ffreeradius-server.git Call finish_select_query if we experience an error retrieving the result --- diff --git a/src/modules/rlm_sql/rlm_sql.c b/src/modules/rlm_sql/rlm_sql.c index 6813e0b5bca..a019b738941 100644 --- a/src/modules/rlm_sql/rlm_sql.c +++ b/src/modules/rlm_sql/rlm_sql.c @@ -181,6 +181,7 @@ static ssize_t sql_xlat(UNUSED TALLOC_CTX *ctx, char **out, UNUSED size_t outlen numaffected = (inst->driver->sql_affected_rows)(handle, inst->config); if (numaffected < 1) { RDEBUG("SQL query affected no rows"); + (inst->driver->sql_finish_query)(handle, inst->config); goto finish; } @@ -197,7 +198,10 @@ static ssize_t sql_xlat(UNUSED TALLOC_CTX *ctx, char **out, UNUSED size_t outlen if (rcode != RLM_SQL_OK) goto query_error; rcode = rlm_sql_fetch_row(&row, inst, request, &handle); - if (rcode) goto query_error; + if (rcode) { + (inst->driver->sql_finish_select_query)(handle, inst->config); + goto query_error; + } if (!row) { RDEBUG("SQL query returned no results");