ext/libuv/src/unix/fs.c in libuv-0.11.5 vs ext/libuv/src/unix/fs.c in libuv-0.11.7

- old
+ new

@@ -211,13 +211,16 @@ size_t len; char *buf; int i; int n; + dents = NULL; n = scandir(req->path, &dents, uv__fs_readdir_filter, alphasort); - if (n == -1 || n == 0) + if (n == 0) + goto out; /* osx still needs to deallocate some memory */ + else if (n == -1) return n; len = 0; for (i = 0; i < n; i++) @@ -241,10 +244,10 @@ req->ptr = buf; out: saved_errno = errno; - { + if (dents != NULL) { for (i = 0; i < n; i++) free(dents[i]); free(dents); } errno = saved_errno;