]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC r298664
authorkp <kp@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Fri, 29 Apr 2016 20:19:41 +0000 (20:19 +0000)
committerkp <kp@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Fri, 29 Apr 2016 20:19:41 +0000 (20:19 +0000)
commitd6c90e19f50eadb3419964d1252a414eb4dc380b
tree9f466d4b31ff87d2014e15c5ed69191dd498534b
parent6d55afc1e5183927971ac6310429a4fc6c5c924a
MFC r298664

msdosfs: Prevent buffer overflow when expanding win95 names

In win2unixfn() we expand Windows 95 style long names. In some cases that
requires moving the data in the nbp->nb_buf buffer backwards to make room. That
code failed to check for overflows, leading to a stack overflow in win2unixfn().

We now check for this event, and mark the entire conversion as failed in that
case. This means we present the 8 character, dos style, name instead.

PR: 204643
Differential Revision:      https://reviews.freebsd.org/D6015

git-svn-id: svn://svn.freebsd.org/base/stable/10@298799 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/fs/msdosfs/direntry.h
sys/fs/msdosfs/msdosfs_conv.c