summary refs log tree commit diff
path: root/fs/proc/base.c
diff options
context:
space:
mode:
authorNikolaus Schulz <microschulz@web.de>2010-04-01 02:21:10 +0900
committerLinus Torvalds <torvalds@linux-foundation.org>2010-03-31 10:34:11 -0700
commit30d1872d9eb3663b4cf7bdebcbf5cd465674cced (patch)
treee3771c93ad38ad5e8f9d8c70a0915afb81423545 /fs/proc/base.c
parent2eaa9cfdf33b8d7fb7aff27792192e0019ae8fc6 (diff)
downloadlinux-30d1872d9eb3663b4cf7bdebcbf5cd465674cced.tar.gz
fat: fix buffer overflow in vfat_create_shortname()
When using the string representation of a random counter as part of the base
name, ensure that it is no longer than 4 bytes.

Since we are repeatedly decrementing the counter in a loop until we have found a
unique base name, the counter may wrap around zero; therefore, it is not enough
to mask its higher bits before entering the loop, this must be done inside the
loop.

[hirofumi@mail.parknet.co.jp: use snprintf()]
Signed-off-by: Nikolaus Schulz <microschulz@web.de>
Cc: stable@kernel.org
Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/proc/base.c')
0 files changed, 0 insertions, 0 deletions