]> granicus.if.org Git - php/commitdiff
Fixed memory leak inside array_diff() (coverity issues #401,#402)
authorIlia Alshanetsky <iliaa@php.net>
Sat, 22 Sep 2007 15:32:11 +0000 (15:32 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Sat, 22 Sep 2007 15:32:11 +0000 (15:32 +0000)
ext/standard/array.c

index 41187efe47dc53d2b3af5e4ac14bc23a4d32dfc5..ff5a5ef6b5fbedf05c080317d92261b4322cbefe 100644 (file)
@@ -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;