@@ -79,6 +79,7 @@ static int fixup_pvname_list(void** param);
79
79
static int fixup_avpname_list (void * * param );
80
80
81
81
static int fixup_free_pvname_list (void * * param );
82
+ static int fixup_free_avp_source (void * * param );
82
83
static int fixup_free_avp_dbparam (void * * param );
83
84
84
85
static int w_sql_avp_load (struct sip_msg * msg , void * source ,
@@ -136,7 +137,7 @@ static const cmd_export_t cmds[] = {
136
137
137
138
{"sql_avp_load" , (cmd_function )w_sql_avp_load , {
138
139
{CMD_PARAM_STR |CMD_PARAM_NO_EXPAND ,
139
- fixup_sql_avp_source , fixup_free_pkg },
140
+ fixup_sql_avp_source , fixup_free_avp_source },
140
141
{CMD_PARAM_STR |CMD_PARAM_NO_EXPAND ,
141
142
fixup_sql_avp_dbparam_scheme , fixup_free_avp_dbparam },
142
143
{CMD_PARAM_INT |CMD_PARAM_OPT , fixup_db_url , 0 },
@@ -146,7 +147,7 @@ static const cmd_export_t cmds[] = {
146
147
147
148
{"sql_avp_delete" , (cmd_function )w_sql_avp_delete , {
148
149
{CMD_PARAM_STR |CMD_PARAM_NO_EXPAND ,
149
- fixup_sql_avp_source , fixup_free_pkg },
150
+ fixup_sql_avp_source , fixup_free_avp_source },
150
151
{CMD_PARAM_STR |CMD_PARAM_NO_EXPAND ,
151
152
fixup_sql_avp_dbparam , fixup_free_avp_dbparam },
152
153
{CMD_PARAM_INT |CMD_PARAM_OPT , fixup_db_url , 0 },
@@ -155,15 +156,14 @@ static const cmd_export_t cmds[] = {
155
156
156
157
{"sql_avp_store" , (cmd_function )w_sql_avp_store , {
157
158
{CMD_PARAM_STR |CMD_PARAM_NO_EXPAND ,
158
- fixup_sql_avp_source , fixup_free_pkg },
159
+ fixup_sql_avp_source , fixup_free_avp_source },
159
160
{CMD_PARAM_STR |CMD_PARAM_NO_EXPAND ,
160
161
fixup_sql_avp_dbparam , fixup_free_avp_dbparam },
161
162
{CMD_PARAM_INT |CMD_PARAM_OPT , fixup_db_url , 0 },
162
163
{0 , 0 , 0 }},
163
164
ALL_ROUTES },
164
165
165
166
{"sql_query" , (cmd_function )w_sql_query , {
166
- {CMD_PARAM_STR , 0 , 0 },
167
167
{CMD_PARAM_STR |CMD_PARAM_OPT |CMD_PARAM_NO_EXPAND ,
168
168
fixup_avpname_list , fixup_free_pvname_list },
169
169
{CMD_PARAM_INT |CMD_PARAM_OPT ,
@@ -544,6 +544,17 @@ static int fixup_sql_avp_dbparam(void** param)
544
544
return fixup_sql_avp (param , 2 , 0 );
545
545
}
546
546
547
+ static int fixup_free_avp_source (void * * param )
548
+ {
549
+ struct fis_param * sp = (struct fis_param * )* param ;
550
+
551
+ if ((sp -> opd & SQLOPS_VAL_STR ) && sp -> u .s .s ) {
552
+ pkg_free (sp -> u .s .s );
553
+ }
554
+ pkg_free (sp );
555
+ return 0 ;
556
+ }
557
+
547
558
static int fixup_free_avp_dbparam (void * * param )
548
559
{
549
560
struct db_param * dbp = (struct db_param * )* param ;
0 commit comments