[PATCH 23/32] Unionfs: mount-time option parsing fix

From: Josef 'Jeff' Sipek
Date: Sun Sep 02 2007 - 22:34:49 EST


From: Erez Zadok <ezk@xxxxxxxxxxxxx>

Signed-off-by: Erez Zadok <ezk@xxxxxxxxxxxxx>
Signed-off-by: Josef 'Jeff' Sipek <jsipek@xxxxxxxxxxxxx>
---
fs/unionfs/main.c | 9 ++++++---
1 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/fs/unionfs/main.c b/fs/unionfs/main.c
index bc5c105..ce08d96 100644
--- a/fs/unionfs/main.c
+++ b/fs/unionfs/main.c
@@ -337,8 +337,12 @@ static int parse_dirs_option(struct super_block *sb, struct unionfs_dentry_info
int perms;
char *mode = strchr(name, '=');

- if (!name || !*name)
+ if (!name)
continue;
+ if (!*name) { /* bad use of ':' (extra colons) */
+ err = -EINVAL;
+ goto out;
+ }

branches++;

@@ -404,10 +408,9 @@ static int parse_dirs_option(struct super_block *sb, struct unionfs_dentry_info
* branch-overlapping test.
*/
for (i = 0; i < branches; i++) {
+ dent1 = lower_root_info->lower_paths[i].dentry;
for (j = i + 1; j < branches; j++) {
- dent1 = lower_root_info->lower_paths[i].dentry;
dent2 = lower_root_info->lower_paths[j].dentry;
-
if (is_branch_overlap(dent1, dent2)) {
printk(KERN_WARNING "unionfs: branches %d and "
"%d overlap\n", i, j);
--
1.5.2.2.238.g7cbf2f2

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/