[syslinux] [PATCH] fs: fix call to fs_ops->readdir

Sebastian Herbszt herbszt at gmx.de
Sun Mar 7 07:02:50 PST 2010


Check if fs_ops->readdir is available before calling it.
At least PXELINUX doesn't implement it.

Signed-off-by: Sebastian Herbszt <herbszt at gmx.de>

diff --git a/core/fs/readdir.c b/core/fs/readdir.c
index d2b112b..d20fc33 100644
--- a/core/fs/readdir.c
+++ b/core/fs/readdir.c
@@ -28,8 +28,11 @@ struct dirent *readdir(DIR *dir)
     struct file *dd_dir = (struct file *)dir;
     int rv = -1;
     
-    if (dd_dir)
-	rv = dd_dir->fs->fs_ops->readdir(dd_dir, &buf);
+    if (dd_dir) {
+        if (dd_dir->fs->fs_ops->readdir) {
+	    rv = dd_dir->fs->fs_ops->readdir(dd_dir, &buf);
+        }
+    }
 
     return rv < 0 ? NULL : &buf;
 }




More information about the Syslinux mailing list