cifs: fix a possible null pointer deref in decode_ascii_ssetup
Subsystems (2)
PATCH 4/7 cifs: fix a possible null pointer deref in decode_ascii_ssetup
When kzalloc fails, we will end up doing NULL pointer derefrence
Signed-off-by Namjae Jeon <[email protected]>
Signed-off-by Ashish Sangwan <[email protected]>
--- fs/cifs/sess.c | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-)
fs/cifs/sess.c +4 -3
@@ -243,10 +243,11 @@ static void decode_ascii_ssetup(char **pbcc_area, __u16 bleft,kfree (ses->serverOS); ses->serverOS =kzalloc (len +1 ,GFP_KERNEL ); -if (ses->serverOS) +if (ses->serverOS) {strncpy (ses->serverOS, bcc_ptr, len); -if (strncmp (ses->serverOS,"OS/2" ,4 ) ==0 ) -cifs_dbg (FYI ,"OS/2 server\n" ); +if (strncmp (ses->serverOS,"OS/2" ,4 ) ==0 ) +cifs_dbg (FYI ,"OS/2 server\n" ); + } bcc_ptr += len +1 ; bleft -= len +1 ;
Signature · 1 line
1.7.7
Steve French
Appliedmerged into cifs-2.6.git for-next
Quoted 30 lines · Namjae Jeon
When kzalloc fails, we will end up doing NULL pointer derefrence
Signed-off-by Namjae Jeon <[email protected]>Signed-off-by Ashish Sangwan <[email protected]>--- fs/cifs/sess.c | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-)fs/cifs/sess.c +4
-4@@ -243,10 +243,11 @@ static void decode_ascii_ssetup(char **pbcc_area, __u16 bleft,kfree (ses->serverOS); ses->serverOS =kzalloc (len +1 ,GFP_KERNEL ); -if (ses->serverOS) +if (ses->serverOS) {strncpy (ses->serverOS, bcc_ptr, len); -if (strncmp (ses->serverOS,"OS/2" ,4 ) ==0 ) -cifs_dbg (FYI ,"OS/2 server\n" ); +if (strncmp (ses->serverOS,"OS/2" ,4 ) ==0 ) +cifs_dbg (FYI ,"OS/2 server\n" ); + } bcc_ptr += len +1 ; bleft -= len +1 ; --1.7.7
Signature · 3 lines
Thanks, Steve