From f25ab1bf9c46e0c65399de3fbcae47f3af1ac0b4 Mon Sep 17 00:00:00 2001 From: Pierre Joye Date: Mon, 10 Jan 2011 08:07:38 +0000 Subject: - possible NULL deref --- win32/readdir.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'win32/readdir.c') diff --git a/win32/readdir.c b/win32/readdir.c index 52ebe2fd09..9525fc0d6b 100644 --- a/win32/readdir.c +++ b/win32/readdir.c @@ -33,6 +33,9 @@ DIR *opendir(const char *dir) } filespec = (char *)malloc(strlen(resolved_path_buff) + 2 + 1); + if (filespec == NULL) { + return NULL; + } strcpy(filespec, resolved_path_buff); index = strlen(filespec) - 1; if (index >= 0 && (filespec[index] == '/' || @@ -41,6 +44,9 @@ DIR *opendir(const char *dir) strcat(filespec, "\\*"); dp = (DIR *) malloc(sizeof(DIR)); + if (dp == NULL) { + return NULL; + } dp->offset = 0; dp->finished = 0; @@ -140,6 +146,10 @@ int rewinddir(DIR *dp) dp->finished = 0; filespec = (char *)malloc(strlen(dp->dir) + 2 + 1); + if (filespec == NULL) { + return -1; + } + strcpy(filespec, dp->dir); index = strlen(filespec) - 1; if (index >= 0 && (filespec[index] == '/' || -- cgit v1.2.1