mirror of
https://github.com/samba-team/samba.git
synced 2025-01-26 10:04:02 +03:00
vfs_fruit: fix ftruncating resource fork
fruit_ftruncate_rsrc_adouble() is called to effectively ftruncate() the ._ AppleDouble file to the requested size. The VFS function SMB_VFS_NEXT_FTRUNCATE() otoh would attempt to truncate to fsp *stream* in any way the next VFS module seems fit. As we know we're stacked with a streams module, the module will attempt to truncate the stream. So we're not truncating the ._ file. This went unnoticed as the AppleDouble file header contains the authorative resource fork size that was updated correctly. Bug: https://bugzilla.samba.org/show_bug.cgi?id=13076 Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org>
This commit is contained in:
parent
f8bd63e19c
commit
3d7932a332
@ -4902,7 +4902,7 @@ static int fruit_ftruncate_rsrc_adouble(struct vfs_handle_struct *handle,
|
||||
|
||||
ad_off = ad_getentryoff(ad, ADEID_RFORK);
|
||||
|
||||
rc = SMB_VFS_NEXT_FTRUNCATE(handle, fsp, offset + ad_off);
|
||||
rc = ftruncate(fsp->fh->fd, offset + ad_off);
|
||||
if (rc != 0) {
|
||||
TALLOC_FREE(ad);
|
||||
return -1;
|
||||
|
Loading…
x
Reference in New Issue
Block a user