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

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@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'))

Dear Peter Feuerer,
In message 4E311948.1000203@sysgo.com you wrote:
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;
Please move greetings out of the commit message.
Signed-off-by: Peter Feuerer pfe@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)) {
Please fix all the errors and warnings reported by checkpatch, and resubmit. Consider using "git format-patch" and "git send-email".
Best regards,
Wolfgang Denk
participants (2)
-
Peter Feuerer
-
Wolfgang Denk