From: Alan T. DeKok Date: Sat, 2 Mar 2013 14:57:27 +0000 (-0500) Subject: Free memory on bind / select failed X-Git-Tag: release_3_0_0_beta1~879 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4e2c0f317e8272984eecc283f6800147c7e7c6e8;p=thirdparty%2Ffreeradius-server.git Free memory on bind / select failed --- diff --git a/src/modules/rlm_sql/drivers/rlm_sql_sybase/rlm_sql_sybase.c b/src/modules/rlm_sql/drivers/rlm_sql_sybase/rlm_sql_sybase.c index c9a3381df3b..128595d8185 100644 --- a/src/modules/rlm_sql/drivers/rlm_sql_sybase/rlm_sql_sybase.c +++ b/src/modules/rlm_sql/drivers/rlm_sql_sybase/rlm_sql_sybase.c @@ -685,6 +685,12 @@ static int sql_select_query(rlm_sql_handle_t *handle, rlm_sql_config_t *config, /* Associate the target buffer with the data */ if (ct_bind(sybase_sock->command, i+1, &descriptor, rowdata[i], NULL, NULL) != CS_SUCCEED) { + int j; + + for (j = 0; j <= i; j++) { + free(rowdata[j]); + } + free(rowdata); radlog(L_ERR,"rlm_sql_sybase(sql_select_query): ct_bind() failed)\n%s", sql_error(handle, config)); return -1;