mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
Merge branch 'PHP-5.5'
* PHP-5.5: fix possible resource leak and make sure there's something to qsort()
This commit is contained in:
commit
638f1c3b79
1 changed files with 3 additions and 1 deletions
|
@ -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;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue