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 <[email protected]>

---
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'))
_______________________________________________
U-Boot mailing list
[email protected]
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to