aboutsummaryrefslogtreecommitdiffstats
path: root/fs/cifs/cifssmb.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/cifs/cifssmb.c')
-rw-r--r--fs/cifs/cifssmb.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/fs/cifs/cifssmb.c b/fs/cifs/cifssmb.c
index a7d3d8e5c6c5..14de58fa1437 100644
--- a/fs/cifs/cifssmb.c
+++ b/fs/cifs/cifssmb.c
@@ -1008,9 +1008,12 @@ PsxCreat:
1008 if(cpu_to_le32(FILE_CREATE) == psx_rsp->CreateAction) 1008 if(cpu_to_le32(FILE_CREATE) == psx_rsp->CreateAction)
1009 *pOplock |= CIFS_CREATE_ACTION; 1009 *pOplock |= CIFS_CREATE_ACTION;
1010 /* check to make sure response data is there */ 1010 /* check to make sure response data is there */
1011 if(psx_rsp->ReturnedLevel != SMB_QUERY_FILE_UNIX_BASIC) 1011 if(psx_rsp->ReturnedLevel != SMB_QUERY_FILE_UNIX_BASIC) {
1012 pRetData->Type = -1; /* unknown */ 1012 pRetData->Type = -1; /* unknown */
1013 else { 1013#ifdef CONFIG_CIFS_DEBUG2
1014 cFYI(1,("unknown type"));
1015#endif
1016 } else {
1014 if(pSMBr->ByteCount < sizeof(OPEN_PSX_RSP) 1017 if(pSMBr->ByteCount < sizeof(OPEN_PSX_RSP)
1015 + sizeof(FILE_UNIX_BASIC_INFO)) { 1018 + sizeof(FILE_UNIX_BASIC_INFO)) {
1016 cERROR(1,("Open response data too small")); 1019 cERROR(1,("Open response data too small"));
@@ -1018,7 +1021,7 @@ PsxCreat:
1018 goto psx_create_err; 1021 goto psx_create_err;
1019 } 1022 }
1020 memcpy((char *) pRetData, 1023 memcpy((char *) pRetData,
1021 (char *)&psx_rsp + sizeof(OPEN_PSX_RSP), 1024 (char *)psx_rsp + sizeof(OPEN_PSX_RSP),
1022 sizeof (FILE_UNIX_BASIC_INFO)); 1025 sizeof (FILE_UNIX_BASIC_INFO));
1023 } 1026 }
1024 1027