diff options
Diffstat (limited to 'fs/cifs/smb2misc.c')
-rw-r--r-- | fs/cifs/smb2misc.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/fs/cifs/smb2misc.c b/fs/cifs/smb2misc.c index 9275883c8530..78225f517a60 100644 --- a/fs/cifs/smb2misc.c +++ b/fs/cifs/smb2misc.c | |||
@@ -248,6 +248,11 @@ smb2_get_data_area_len(int *off, int *len, struct smb2_hdr *hdr) | |||
248 | *len = le32_to_cpu(((struct smb2_read_rsp *)hdr)->DataLength); | 248 | *len = le32_to_cpu(((struct smb2_read_rsp *)hdr)->DataLength); |
249 | break; | 249 | break; |
250 | case SMB2_QUERY_DIRECTORY: | 250 | case SMB2_QUERY_DIRECTORY: |
251 | *off = le16_to_cpu( | ||
252 | ((struct smb2_query_directory_rsp *)hdr)->OutputBufferOffset); | ||
253 | *len = le32_to_cpu( | ||
254 | ((struct smb2_query_directory_rsp *)hdr)->OutputBufferLength); | ||
255 | break; | ||
251 | case SMB2_IOCTL: | 256 | case SMB2_IOCTL: |
252 | case SMB2_CHANGE_NOTIFY: | 257 | case SMB2_CHANGE_NOTIFY: |
253 | default: | 258 | default: |
@@ -290,8 +295,9 @@ smb2_get_data_area_len(int *off, int *len, struct smb2_hdr *hdr) | |||
290 | * portion, the number of word parameters and the data portion of the message. | 295 | * portion, the number of word parameters and the data portion of the message. |
291 | */ | 296 | */ |
292 | unsigned int | 297 | unsigned int |
293 | smb2_calc_size(struct smb2_hdr *hdr) | 298 | smb2_calc_size(void *buf) |
294 | { | 299 | { |
300 | struct smb2_hdr *hdr = (struct smb2_hdr *)buf; | ||
295 | struct smb2_pdu *pdu = (struct smb2_pdu *)hdr; | 301 | struct smb2_pdu *pdu = (struct smb2_pdu *)hdr; |
296 | int offset; /* the offset from the beginning of SMB to data area */ | 302 | int offset; /* the offset from the beginning of SMB to data area */ |
297 | int data_length; /* the length of the variable length data area */ | 303 | int data_length; /* the length of the variable length data area */ |