From: Ilia Alshanetsky Date: Wed, 9 Jun 2004 14:18:14 +0000 (+0000) Subject: Fixed memory leak on error in win32's opendir() emulation. (Patch by Wez) X-Git-Tag: php-5.0.0~245 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ccc580f408c5f3fc09e95318a7e2a4e816d7e986;p=php Fixed memory leak on error in win32's opendir() emulation. (Patch by Wez) --- diff --git a/win32/readdir.c b/win32/readdir.c index e33d19bde5..6aaafced44 100644 --- a/win32/readdir.c +++ b/win32/readdir.c @@ -37,14 +37,17 @@ DIR *opendir(const char *dir) dp = (DIR *) malloc(sizeof(DIR)); dp->offset = 0; dp->finished = 0; - dp->dir = strdup(dir); if ((handle = _findfirst(filespec, &(dp->fileinfo))) < 0) { - if (errno == ENOENT) + if (errno == ENOENT) { dp->finished = 1; - else + } else { + free(dp); + free(filespec); return NULL; + } } + dp->dir = strdup(dir); dp->handle = handle; free(filespec);