summaryrefslogtreecommitdiff
path: root/ext/standard/array.c
diff options
context:
space:
mode:
authorIlia Alshanetsky <iliaa@php.net>2007-09-22 15:32:11 +0000
committerIlia Alshanetsky <iliaa@php.net>2007-09-22 15:32:11 +0000
commit91e8740fe4d5cbc82a217e1af5b837983312299b (patch)
tree17d35a93c4fadadf660641d7870def97f54352d6 /ext/standard/array.c
parent9307163e67642a8a0be3448c66fb598d9b18a1dd (diff)
downloadphp-git-91e8740fe4d5cbc82a217e1af5b837983312299b.tar.gz
Fixed memory leak inside array_diff() (coverity issues #401,#402)
Diffstat (limited to 'ext/standard/array.c')
-rw-r--r--ext/standard/array.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/ext/standard/array.c b/ext/standard/array.c
index 41187efe47..ff5a5ef6b5 100644
--- a/ext/standard/array.c
+++ b/ext/standard/array.c
@@ -3634,6 +3634,8 @@ static void php_array_diff(INTERNAL_FUNCTION_PARAMETERS, int behavior, int data_
hash = HASH_OF(*args[i]);
list = (Bucket **) pemalloc((hash->nNumOfElements + 1) * sizeof(Bucket *), hash->persistent);
if (!list) {
+ efree(ptrs);
+ efree(lists);
RETURN_FALSE;
}
lists[i] = list;