git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vserver 1.9.3
[linux-2.6.git]
/
fs
/
isofs
/
rock.c
diff --git
a/fs/isofs/rock.c
b/fs/isofs/rock.c
index
c09d4bd
..
19d999f
100644
(file)
--- a/
fs/isofs/rock.c
+++ b/
fs/isofs/rock.c
@@
-62,7
+62,7
@@
}
#define MAYBE_CONTINUE(LABEL,DEV) \
}
#define MAYBE_CONTINUE(LABEL,DEV) \
- {if (buffer)
kfree(buffer);
\
+ {if (buffer)
{ kfree(buffer); buffer = NULL; }
\
if (cont_extent){ \
int block, offset, offset1; \
struct buffer_head * pbh; \
if (cont_extent){ \
int block, offset, offset1; \
struct buffer_head * pbh; \
@@
-153,14
+153,17
@@
int get_rock_ridge_filename(struct iso_directory_record * de,
}
}
MAYBE_CONTINUE(repeat,inode);
}
}
MAYBE_CONTINUE(repeat,inode);
+ if (buffer) kfree(buffer);
return retnamlen; /* If 0, this file did not have a NM field */
out:
if(buffer) kfree(buffer);
return 0;
}
return retnamlen; /* If 0, this file did not have a NM field */
out:
if(buffer) kfree(buffer);
return 0;
}
-int parse_rock_ridge_inode_internal(struct iso_directory_record * de,
- struct inode * inode,int regard_xa){
+static int
+parse_rock_ridge_inode_internal(struct iso_directory_record *de,
+ struct inode *inode, int regard_xa)
+{
int len;
unsigned char * chr;
int symlink_len = 0;
int len;
unsigned char * chr;
int symlink_len = 0;
@@
-174,7
+177,7
@@
int parse_rock_ridge_inode_internal(struct iso_directory_record * de,
chr+=14;
len-=14;
if (len<0) len=0;
chr+=14;
len-=14;
if (len<0) len=0;
- }
;
+ }
repeat:
{
repeat:
{
@@
-351,7
+354,6
@@
int parse_rock_ridge_inode_internal(struct iso_directory_record * de,
}
}
MAYBE_CONTINUE(repeat,inode);
}
}
MAYBE_CONTINUE(repeat,inode);
- return 0;
out:
if(buffer) kfree(buffer);
return 0;
out:
if(buffer) kfree(buffer);
return 0;
@@
-435,9
+437,9
@@
int parse_rock_ridge_inode(struct iso_directory_record * de,
&&(ISOFS_SB(inode->i_sb)->s_rock==2))
{
result=parse_rock_ridge_inode_internal(de,inode,14);
&&(ISOFS_SB(inode->i_sb)->s_rock==2))
{
result=parse_rock_ridge_inode_internal(de,inode,14);
- }
;
+ }
return result;
return result;
-}
;
+}
/* readpage() for symlinks: reads symlink contents into the page and either
makes it uptodate and returns 0 or returns error (-EIO) */
/* readpage() for symlinks: reads symlink contents into the page and either
makes it uptodate and returns 0 or returns error (-EIO) */
@@
-515,6
+517,8
@@
static int rock_ridge_symlink_readpage(struct file *file, struct page *page)
}
}
MAYBE_CONTINUE(repeat, inode);
}
}
MAYBE_CONTINUE(repeat, inode);
+ if (buffer)
+ kfree(buffer);
if (rpnt == link)
goto fail;
if (rpnt == link)
goto fail;