summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2007-09-25 14:36:55 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2007-09-25 14:36:55 +0200
commit6ed4c53c21902c7b9622f47afcb271e845f45e48 (patch)
treeaeae9339f4510ad4ba02f0173db22949c79d5e61 /fs
parent1cc42431c9855c131331a390ba8f07d385cad933 (diff)
downloadbarebox-6ed4c53c21902c7b9622f47afcb271e845f45e48.tar.gz
barebox-6ed4c53c21902c7b9622f47afcb271e845f45e48.tar.xz
handle NULL Pointers in readdir/closedir properly
Diffstat (limited to 'fs')
-rw-r--r--fs/fs.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/fs/fs.c b/fs/fs.c
index 75c73e125b..98bde06548 100644
--- a/fs/fs.c
+++ b/fs/fs.c
@@ -722,11 +722,19 @@ out:
struct dirent *readdir(DIR *dir)
{
+ if (!dir)
+ return NULL;
+
return dir->fsdrv->readdir(dir->dev, dir);
}
int closedir(DIR *dir)
{
+ if (!dir) {
+ errno = -EBADF;
+ return -1;
+ }
+
return dir->fsdrv->closedir(dir->dev, dir);
}