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-Tag: release_3_0_13~77 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=35e03eabd768d7ce5c2e9048b3deba702ff89674;p=thirdparty%2Ffreeradius-server.git Call finish_select_query if we experience an error retrieving the result # Conflicts: # src/modules/rlm_sql/rlm_sql.c --- diff --git a/src/modules/rlm_sql/rlm_sql.c b/src/modules/rlm_sql/rlm_sql.c index 354d096befe..c703658fc05 100644 --- a/src/modules/rlm_sql/rlm_sql.c +++ b/src/modules/rlm_sql/rlm_sql.c @@ -189,6 +189,7 @@ static ssize_t sql_xlat(void *instance, REQUEST *request, char const *query, cha numaffected = (inst->module->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; } @@ -225,7 +226,10 @@ static ssize_t sql_xlat(void *instance, REQUEST *request, char const *query, cha if (rcode != RLM_SQL_OK) goto query_error; rcode = rlm_sql_fetch_row(inst, request, &handle); - if (rcode) goto query_error; + if (rcode) { + (inst->driver->sql_finish_select_query)(handle, inst->config); + goto query_error; + } row = handle->row; if (!row) { @@ -506,7 +510,7 @@ int sql_set_user(rlm_sql_t *inst, REQUEST *request, char const *username) fr_pair_value_strsteal(vp, expanded); RDEBUG2("SQL-User-Name set to '%s'", vp->vp_strvalue); - vp->op = T_OP_SET; + vp->op = T_OP_SET; /* * Delete any existing SQL-User-Name, and replace it with ours.