diff options
Diffstat (limited to '')
| -rw-r--r-- | fs/reiserfs/xattr.c | 4 | 
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/reiserfs/xattr.c b/fs/reiserfs/xattr.c index ff94fad477e4..48cdfc81fe10 100644 --- a/fs/reiserfs/xattr.c +++ b/fs/reiserfs/xattr.c @@ -792,8 +792,10 @@ static int listxattr_filler(struct dir_context *ctx, const char *name,  			return 0;  		size = namelen + 1;  		if (b->buf) { -			if (size > b->size) +			if (b->pos + size > b->size) { +				b->pos = -ERANGE;  				return -ERANGE; +			}  			memcpy(b->buf + b->pos, name, namelen);  			b->buf[b->pos + namelen] = 0;  		}  | 
