diff --git a/LibC/dirent.cpp b/LibC/dirent.cpp index 8f70166840..c511b9dad6 100644 --- a/LibC/dirent.cpp +++ b/LibC/dirent.cpp @@ -26,9 +26,12 @@ int closedir(DIR* dirp) { if (!dirp || dirp->fd == -1) return -EBADF; + if (dirp->buffer) + free(dirp->buffer); int rc = close(dirp->fd); if (rc == 0) dirp->fd = -1; + free(dirp); return rc; }