[PATCH 1/2] fs2dt: fix basename string compares

Daniel Mack zonque at gmail.com
Mon Nov 26 07:14:42 EST 2012


basename is initialized as

  basename = strrchr(pathname,'/') + 1;

and does hence not contain the leading slash character.

Signed-off-by: Daniel Mack <zonque at gmail.com>
---
 kexec/fs2dt.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/kexec/fs2dt.c b/kexec/fs2dt.c
index b7eda8f..79258a1 100644
--- a/kexec/fs2dt.c
+++ b/kexec/fs2dt.c
@@ -525,7 +525,7 @@ static void putnode(void)
 	putprops(dn, namelist, numlist);
 
 	/* Add initrd entries to the second kernel */
-	if (initrd_base && !strcmp(basename,"/chosen/")) {
+	if (initrd_base && !strcmp(basename,"chosen/")) {
 		int len = 8;
 		unsigned long long initrd_end;
 
@@ -554,7 +554,7 @@ static void putnode(void)
 
 	/* Add cmdline to the second kernel.  Check to see if the new
 	 * cmdline has a root=.  If not, use the old root= cmdline.  */
-	if (!strcmp(basename,"/chosen/")) {
+	if (!strcmp(basename,"chosen/")) {
 		size_t cmd_len = 0;
 		char *param = NULL;
 		char filename[MAXPATH];
-- 
1.7.11.7




More information about the kexec mailing list