Skip to content

Commit b5e16ce

Browse files
committed
Fix a few valgrind errors in phpdbg
1 parent 34596a3 commit b5e16ce

File tree

4 files changed

+673
-769
lines changed

4 files changed

+673
-769
lines changed

run-tests.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1878,7 +1878,7 @@ function run_test($php, $file, $env)
18781878

18791879
if (version_compare($valgrind_version, '3.3.0', '>=')) {
18801880
/* valgrind 3.3.0+ doesn't have --log-file-exactly option */
1881-
$cmd = "valgrind -q --tool=memcheck --trace-children=yes --log-file=$memcheck_filename $cmd";
1881+
$cmd = "valgrind -q --tool=memcheck --trace-children=yes --show-leak-kinds=definite,indirect --log-file=$memcheck_filename $cmd";
18821882
} else {
18831883
$cmd = "valgrind -q --tool=memcheck --trace-children=yes --log-file-exactly=$memcheck_filename $cmd";
18841884
}
@@ -1933,7 +1933,7 @@ function run_test($php, $file, $env)
19331933
$passed = false;
19341934

19351935
if ($leak_check) { // leak check
1936-
$leaked = filesize($memcheck_filename) > 0;
1936+
$leaked = filesize($memcheck_filename) > 367;
19371937

19381938
if (!$leaked) {
19391939
@unlink($memcheck_filename);

sapi/phpdbg/phpdbg_cmd.c

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -385,23 +385,27 @@ PHPDBG_API void phpdbg_stack_free(phpdbg_param_t *stack) {
385385
switch (remove->type) {
386386
case NUMERIC_METHOD_PARAM:
387387
case METHOD_PARAM:
388-
if (remove->method.class)
389-
free(remove->method.class);
390-
if (remove->method.name)
391-
free(remove->method.name);
388+
if (remove->method.class) {
389+
efree(remove->method.class);
390+
}
391+
if (remove->method.name) {
392+
efree(remove->method.name);
393+
}
392394
break;
393395

394396
case NUMERIC_FUNCTION_PARAM:
395397
case STR_PARAM:
396398
case OP_PARAM:
397-
if (remove->str)
398-
free(remove->str);
399+
if (remove->str) {
400+
efree(remove->str);
401+
}
399402
break;
400403

401404
case NUMERIC_FILE_PARAM:
402405
case FILE_PARAM:
403-
if (remove->file.name)
404-
free(remove->file.name);
406+
if (remove->file.name) {
407+
efree(remove->file.name);
408+
}
405409
break;
406410

407411
default: {

0 commit comments

Comments
 (0)