Changeset 232 for branches/samba-3.2.x/source/smbd/trans2.c
- Timestamp:
- May 27, 2009, 9:09:42 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/samba-3.2.x/source/smbd/trans2.c
r228 r232 3675 3675 unsigned int ofs = 0; 3676 3676 3677 for (i =0; i<num_streams; i++) {3677 for (i = 0; i < num_streams && ofs <= max_data_bytes; i++) { 3678 3678 unsigned int next_offset; 3679 3679 size_t namelen; … … 3693 3693 3694 3694 namelen -= 2; 3695 3696 if (ofs + 24 + namelen > max_data_bytes) {3697 TALLOC_FREE(namebuf);3698 return NT_STATUS_BUFFER_TOO_SMALL;3699 }3700 3695 3701 3696 SIVAL(data, ofs+4, namelen); … … 3712 3707 else { 3713 3708 unsigned int align = ndr_align_size(next_offset, 8); 3714 3715 if (next_offset + align > max_data_bytes) {3716 return NT_STATUS_BUFFER_TOO_SMALL;3717 }3718 3709 3719 3710 memset(data+next_offset, 0, align); … … 5353 5344 char *base_name = NULL; 5354 5345 bool dest_has_wcard = False; 5346 SMB_STRUCT_STAT sbuf; 5347 char *newname_last_component = NULL; 5355 5348 NTSTATUS status = NT_STATUS_OK; 5356 5349 char *p; … … 5360 5353 return NT_STATUS_INVALID_PARAMETER; 5361 5354 } 5355 5356 ZERO_STRUCT(sbuf); 5362 5357 5363 5358 overwrite = (CVAL(pdata,0) ? True : False); … … 5394 5389 5395 5390 if (fsp && fsp->base_fsp) { 5391 /* newname must be a stream name. */ 5396 5392 if (newname[0] != ':') { 5397 5393 return NT_STATUS_NOT_SUPPORTED; … … 5404 5400 } 5405 5401 } else { 5402 /* newname must *not* be a stream name. */ 5406 5403 if (is_ntfs_stream_name(newname)) { 5407 5404 return NT_STATUS_NOT_SUPPORTED; … … 5429 5426 return NT_STATUS_NO_MEMORY; 5430 5427 } 5431 }5432 5433 if (fsp) {5434 SMB_STRUCT_STAT sbuf;5435 char *newname_last_component = NULL;5436 5437 ZERO_STRUCT(sbuf);5438 5428 5439 5429 status = unix_convert(ctx, conn, newname, False, 5440 5441 5442 5430 &newname, 5431 &newname_last_component, 5432 &sbuf); 5443 5433 5444 5434 /* If an error we expect this to be … … 5450 5440 return status; 5451 5441 } 5452 5442 } 5443 5444 if (fsp) { 5453 5445 DEBUG(10,("smb_file_rename_information: SMB_FILE_RENAME_INFORMATION (fnum %d) %s -> %s\n", 5454 5446 fsp->fnum, fsp->fsp_name, base_name ));
Note:
See TracChangeset
for help on using the changeset viewer.