1
0
mirror of https://github.com/php/php-src.git synced 2026-04-26 01:18:19 +02:00

Merge branch 'PHP-5.4'

* PHP-5.4:
  fix potential overflow in _php_stream_scandir
This commit is contained in:
Stanislav Malyshev
2012-06-07 23:09:37 -07:00
+8 -3
View File
@@ -2263,8 +2263,8 @@ PHPAPI int _php_stream_scandir(char *dirname, char **namelist[], int flags, php_
php_stream *stream;
php_stream_dirent sdp;
char **vector = NULL;
int vector_size = 0;
int nfiles = 0;
unsigned int vector_size = 0;
unsigned int nfiles = 0;
if (!namelist) {
return FAILURE;
@@ -2282,12 +2282,17 @@ PHPAPI int _php_stream_scandir(char *dirname, char **namelist[], int flags, php_
} else {
vector_size *= 2;
}
vector = (char **) erealloc(vector, vector_size * sizeof(char *));
vector = (char **) safe_erealloc(vector, vector_size, sizeof(char *), 0);
}
vector[nfiles] = estrdup(sdp.d_name);
nfiles++;
if(vector_size < 10 || nfiles == 0) {
/* overflow */
efree(vector);
return FAILURE;
}
}
php_stream_closedir(stream);