diff options
Diffstat (limited to 'fs/reiserfs')
| -rw-r--r-- | fs/reiserfs/super.c | 4 | ||||
| -rw-r--r-- | fs/reiserfs/xattr.c | 4 | 
2 files changed, 3 insertions, 5 deletions
diff --git a/fs/reiserfs/super.c b/fs/reiserfs/super.c index 194113b1b11..f8a23c3078f 100644 --- a/fs/reiserfs/super.c +++ b/fs/reiserfs/super.c @@ -1147,8 +1147,7 @@ static int reiserfs_parse_options(struct super_block *s, char *options,	/* strin  							 "on filesystem root.");  					return 0;  				} -				qf_names[qtype] = -				    kmalloc(strlen(arg) + 1, GFP_KERNEL); +				qf_names[qtype] = kstrdup(arg, GFP_KERNEL);  				if (!qf_names[qtype]) {  					reiserfs_warning(s, "reiserfs-2502",  							 "not enough memory " @@ -1156,7 +1155,6 @@ static int reiserfs_parse_options(struct super_block *s, char *options,	/* strin  							 "quotafile name.");  					return 0;  				} -				strcpy(qf_names[qtype], arg);  				if (qtype == USRQUOTA)  					*mount_options |= 1 << REISERFS_USRQUOTA;  				else diff --git a/fs/reiserfs/xattr.c b/fs/reiserfs/xattr.c index c196369fe40..4cce1d9552f 100644 --- a/fs/reiserfs/xattr.c +++ b/fs/reiserfs/xattr.c @@ -187,8 +187,8 @@ fill_with_dentries(void *buf, const char *name, int namelen, loff_t offset,  	if (dbuf->count == ARRAY_SIZE(dbuf->dentries))  		return -ENOSPC; -	if (name[0] == '.' && (name[1] == '\0' || -			       (name[1] == '.' && name[2] == '\0'))) +	if (name[0] == '.' && (namelen < 2 || +			       (namelen == 2 && name[1] == '.')))  		return 0;  	dentry = lookup_one_len(name, dbuf->xadir, namelen);  |