[PATCH] smbfs: double free memory corruption
authorVasily Averin <vvs@sw.ru>
Fri, 16 Mar 2007 21:38:24 +0000 (13:38 -0800)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Sat, 17 Mar 2007 02:25:05 +0000 (19:25 -0700)
commit1174cf730179d8f029b9e93cb9a4d5bfb08d1202
tree0d02da2b8a543ff014f44e87c78fd9e837861113
parent833f80627d10d370ea91b96de254850361c3a2fc
[PATCH] smbfs: double free memory corruption

smbfs allocates rq_trans2buffer to handle server's multi transaction2 response
messages.  As struct smb_request may be reused, rq_trans2buffer is freed
before each new request.  However if last servers's response is not multi but
single trans2 message then new rq_trans2buffer is not allocated but last
smb_rput still tries to free it again.

To prevent this issue rq_trans2buffer pointer should be set to NULL after
kfree.

Signed-off-by: Vasily Averin <vvs@sw.ru>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/smbfs/request.c