Patchwork [U-Boot] ubifs.c: BUG: Error following links

login
register
mail settings
Submitter Ricardo Ribalda
Date Dec. 2, 2010, 2:02 p.m.
Message ID <1291298555-23384-1-git-send-email-ricardo.ribalda@gmail.com>
Download mbox | patch
Permalink /patch/73974/
State Accepted
Commit 64b68178489b6845bcf460e9c6e618cb81740faf
Headers show

Comments

Ricardo Ribalda - Dec. 2, 2010, 2:02 p.m.
The link_name variable is declared inside the if block and it is used
outside it through the name pointer.

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
---
 fs/ubifs/ubifs.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
Stefan Roese - Dec. 3, 2010, 3:53 p.m.
On Thursday 02 December 2010 15:02:35 Ricardo Ribalda Delgado wrote:
> The link_name variable is declared inside the if block and it is used
> outside it through the name pointer.

Applied to u-boot-ubi/master. Thanks.

Cheers,
Stefan

--
DENX Software Engineering GmbH,      MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich,  Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-0 Fax: (+49)-8142-66989-80 Email: office@denx.de

Patch

diff --git a/fs/ubifs/ubifs.c b/fs/ubifs/ubifs.c
index 0f8128c..2bad027 100644
--- a/fs/ubifs/ubifs.c
+++ b/fs/ubifs/ubifs.c
@@ -386,6 +386,7 @@  static unsigned long ubifs_findfile(struct super_block *sb, char *filename)
 	unsigned long root_inum = 1;
 	unsigned long inum;
 	int symlink_count = 0; /* Don't allow symlink recursion */
+	char link_name[64];
 
 	strcpy(fpath, filename);
 
@@ -422,7 +423,6 @@  static unsigned long ubifs_findfile(struct super_block *sb, char *filename)
 		ui = ubifs_inode(inode);
 
 		if ((inode->i_mode & S_IFMT) == S_IFLNK) {
-			char link_name[64];
 			char buf[128];
 
 			/* We have some sort of symlink recursion, bail out */