[U-Boot] [PATCH] fix cramfs resolve in case of two files, which start with same chars

Peter Feuerer pfe at sysgo.com
Thu Jul 28 10:09:44 CEST 2011


Hi,

when having two (or more) files in cramfs which start with same name, 
cramfs_resolve didn't check the filename length and thus returned 
potentially the wrong file.

kind regards,
--peter;

Signed-off-by: Peter Feuerer <pfe at sysgo.com>

---
diff -ur u-boot-2011.06_original/fs/cramfs/cramfs.c 
u-boot-2011.06/fs/cramfs/cramfs.c
--- u-boot-2011.06_original/fs/cramfs/cramfs.c  2011-07-28 
09:48:10.000000000 +0200
+++ u-boot-2011.06/fs/cramfs/cramfs.c   2011-07-28 09:51:54.000000000 +0200
@@ -126,7 +126,8 @@
                         namelen--;
                 }

-               if (!strncmp (filename, name, namelen)) {
+               if (namelen == strlen (filename) &&
+                               !strncmp (filename, name, namelen)) {
                         char *p = strtok (NULL, "/");

                         if (raw && (p == NULL || *p == '\0'))


More information about the U-Boot mailing list