Merge branch 'PHP-5.4' into PHP-5.5

* PHP-5.4:
  fix possible resource leak and make sure there's something to qsort()
This commit is contained in:
Anatol Belski 2013-07-10 13:31:22 +02:00
commit f5b9d87fb9

View File

@ -2289,6 +2289,7 @@ PHPAPI int _php_stream_scandir(char *dirname, char **namelist[], int flags, php_
} else { } else {
if(vector_size*2 < vector_size) { if(vector_size*2 < vector_size) {
/* overflow */ /* overflow */
php_stream_closedir(stream);
efree(vector); efree(vector);
return FAILURE; return FAILURE;
} }
@ -2302,6 +2303,7 @@ PHPAPI int _php_stream_scandir(char *dirname, char **namelist[], int flags, php_
nfiles++; nfiles++;
if(vector_size < 10 || nfiles == 0) { if(vector_size < 10 || nfiles == 0) {
/* overflow */ /* overflow */
php_stream_closedir(stream);
efree(vector); efree(vector);
return FAILURE; return FAILURE;
} }
@ -2310,7 +2312,7 @@ PHPAPI int _php_stream_scandir(char *dirname, char **namelist[], int flags, php_
*namelist = vector; *namelist = vector;
if (compare) { if (nfiles > 0 && compare) {
qsort(*namelist, nfiles, sizeof(char *), (int(*)(const void *, const void *))compare); qsort(*namelist, nfiles, sizeof(char *), (int(*)(const void *, const void *))compare);
} }
return nfiles; return nfiles;