mirror of https://gitee.com/openkylin/linux.git
[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>
This commit is contained in:
parent
833f80627d
commit
1174cf7301
|
@ -181,6 +181,7 @@ static int smb_setup_request(struct smb_request *req)
|
|||
req->rq_errno = 0;
|
||||
req->rq_fragment = 0;
|
||||
kfree(req->rq_trans2buffer);
|
||||
req->rq_trans2buffer = NULL;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue