Browse Source

ubifs.c: BUG: Error following links

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>
Signed-off-by: Stefan Roese <sr@denx.de>
Ricardo Ribalda Delgado 14 years ago
parent
commit
64b6817848
1 changed files with 1 additions and 1 deletions
  1. 1 1
      fs/ubifs/ubifs.c

+ 1 - 1
fs/ubifs/ubifs.c

@@ -384,6 +384,7 @@ static unsigned long ubifs_findfile(struct super_block *sb, char *filename)
 	unsigned long root_inum = 1;
 	unsigned long root_inum = 1;
 	unsigned long inum;
 	unsigned long inum;
 	int symlink_count = 0; /* Don't allow symlink recursion */
 	int symlink_count = 0; /* Don't allow symlink recursion */
+	char link_name[64];
 
 
 	strcpy(fpath, filename);
 	strcpy(fpath, filename);
 
 
@@ -420,7 +421,6 @@ static unsigned long ubifs_findfile(struct super_block *sb, char *filename)
 		ui = ubifs_inode(inode);
 		ui = ubifs_inode(inode);
 
 
 		if ((inode->i_mode & S_IFMT) == S_IFLNK) {
 		if ((inode->i_mode & S_IFMT) == S_IFLNK) {
-			char link_name[64];
 			char buf[128];
 			char buf[128];
 
 
 			/* We have some sort of symlink recursion, bail out */
 			/* We have some sort of symlink recursion, bail out */