"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "source3/libsmb/cli_smb2_fnum.c" between
samba-4.12.3.tar.gz and samba-4.12.5.tar.gz

About: Samba is the standard Windows interoperability suite of programs for Linux and Unix providing secure, stable and fast file and print services for all clients using the SMB/CIFS protocol. 4.12 series.

cli_smb2_fnum.c  (samba-4.12.3):cli_smb2_fnum.c  (samba-4.12.5)
skipping to change at line 1239 skipping to change at line 1239
if (dir_data_length < 105) { if (dir_data_length < 105) {
return NT_STATUS_INFO_LENGTH_MISMATCH; return NT_STATUS_INFO_LENGTH_MISMATCH;
} }
finfo->btime_ts = interpret_long_date((const char *)dir_data + 8); finfo->btime_ts = interpret_long_date((const char *)dir_data + 8);
finfo->atime_ts = interpret_long_date((const char *)dir_data + 16); finfo->atime_ts = interpret_long_date((const char *)dir_data + 16);
finfo->mtime_ts = interpret_long_date((const char *)dir_data + 24); finfo->mtime_ts = interpret_long_date((const char *)dir_data + 24);
finfo->ctime_ts = interpret_long_date((const char *)dir_data + 32); finfo->ctime_ts = interpret_long_date((const char *)dir_data + 32);
finfo->size = IVAL2_TO_SMB_BIG_UINT(dir_data + 40, 0); finfo->size = IVAL2_TO_SMB_BIG_UINT(dir_data + 40, 0);
finfo->allocated_size = IVAL2_TO_SMB_BIG_UINT(dir_data + 48, 0); finfo->allocated_size = IVAL2_TO_SMB_BIG_UINT(dir_data + 48, 0);
finfo->mode = CVAL(dir_data + 56, 0); /* NB. We need to enlarge finfo->mode to be 32-bits. */
finfo->mode = (uint16_t)IVAL(dir_data + 56, 0);
finfo->ino = IVAL2_TO_SMB_BIG_UINT(dir_data + 96, 0); finfo->ino = IVAL2_TO_SMB_BIG_UINT(dir_data + 96, 0);
namelen = IVAL(dir_data + 60,0); namelen = IVAL(dir_data + 60,0);
if (namelen > (dir_data_length - 104)) { if (namelen > (dir_data_length - 104)) {
return NT_STATUS_INFO_LENGTH_MISMATCH; return NT_STATUS_INFO_LENGTH_MISMATCH;
} }
slen = CVAL(dir_data + 68, 0); slen = CVAL(dir_data + 68, 0);
if (slen > 24) { if (slen > 24) {
return NT_STATUS_INFO_LENGTH_MISMATCH; return NT_STATUS_INFO_LENGTH_MISMATCH;
} }
ret = pull_string_talloc(finfo, ret = pull_string_talloc(finfo,
skipping to change at line 1272 skipping to change at line 1273
dir_data, dir_data,
FLAGS2_UNICODE_STRINGS, FLAGS2_UNICODE_STRINGS,
&finfo->name, &finfo->name,
dir_data + 104, dir_data + 104,
namelen, namelen,
STR_UNICODE); STR_UNICODE);
if (ret == (size_t)-1) { if (ret == (size_t)-1) {
/* Bad conversion. */ /* Bad conversion. */
return NT_STATUS_INVALID_NETWORK_RESPONSE; return NT_STATUS_INVALID_NETWORK_RESPONSE;
} }
if (finfo->name == NULL) {
/* Bad conversion. */
return NT_STATUS_INVALID_NETWORK_RESPONSE;
}
return NT_STATUS_OK; return NT_STATUS_OK;
} }
/******************************************************************* /*******************************************************************
Given a filename - get its directory name Given a filename - get its directory name
********************************************************************/ ********************************************************************/
static bool windows_parent_dirname(TALLOC_CTX *mem_ctx, static bool windows_parent_dirname(TALLOC_CTX *mem_ctx,
const char *dir, const char *dir,
char **parent, char **parent,
 End of changes. 2 change blocks. 
1 lines changed or deleted 8 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)