summaryrefslogtreecommitdiff
path: root/src/sp_disabled_functions.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/sp_disabled_functions.c')
-rw-r--r--src/sp_disabled_functions.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/sp_disabled_functions.c b/src/sp_disabled_functions.c
index 55d782b..b3e5cbc 100644
--- a/src/sp_disabled_functions.c
+++ b/src/sp_disabled_functions.c
@@ -271,7 +271,7 @@ static bool should_drop_on_ret(zval* return_value,
271 } 271 }
272 } 272 }
273 273
274 ret_value_str = sp_convert_to_string(return_value); // FIXME memleak 274 ret_value_str = sp_convert_to_string(return_value);
275 275
276 bool match_type = (config_node->ret_type) && 276 bool match_type = (config_node->ret_type) &&
277 (config_node->ret_type == Z_TYPE_P(return_value)); 277 (config_node->ret_type == Z_TYPE_P(return_value));
@@ -282,15 +282,18 @@ static bool should_drop_on_ret(zval* return_value,
282 if (true == match_type || match_value) { 282 if (true == match_type || match_value) {
283 if (true == config_node->allow) { 283 if (true == config_node->allow) {
284 efree(complete_path_function); 284 efree(complete_path_function);
285 efree(ret_value_str);
285 return false; 286 return false;
286 } 287 }
287 sp_log_disable_ret(complete_path_function, ret_value_str, config_node); 288 sp_log_disable_ret(complete_path_function, ret_value_str, config_node);
288 if (false == config_node->simulation) { 289 if (false == config_node->simulation) {
289 efree(complete_path_function); 290 efree(complete_path_function);
291 efree(ret_value_str);
290 return true; 292 return true;
291 } 293 }
292 } 294 }
293 next: 295 next:
296 efree(ret_value_str);
294 config = config->next; 297 config = config->next;
295 } 298 }
296 efree(complete_path_function); 299 efree(complete_path_function);