diff options
| author | Ralph Boehme <rb@sernet.de> | 2014-09-15 13:51:41 +0200 |
|---|---|---|
| committer | Jeremy Allison <jra@samba.org> | 2014-09-25 21:19:12 +0200 |
| commit | 87347f977249d3ed877384d71c8604afe7756907 (patch) | |
| tree | a8f203fb8e86201a5ce27d86226dfa40e4b5538b /source3/modules | |
| parent | cafb233d567a7b3f29f74b6d5afa878db53bf446 (diff) | |
vfs_fruit: fix resource fork length calculation
Don't add the AppleDouble header size to the resource fork size.
Signed-off-by: Ralph Boehme <rb@sernet.de>
Reviewed-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Diffstat (limited to 'source3/modules')
| -rw-r--r-- | source3/modules/vfs_fruit.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/source3/modules/vfs_fruit.c b/source3/modules/vfs_fruit.c index bdb068a7e2..37027459f5 100644 --- a/source3/modules/vfs_fruit.c +++ b/source3/modules/vfs_fruit.c @@ -2311,7 +2311,7 @@ static ssize_t fruit_pwrite(vfs_handle_struct *handle, handle, fsp); struct fruit_config_data *config = NULL; AfpInfo *ai = NULL; - ssize_t len, new_rfork_size; + ssize_t len; char *name = NULL; char *tmp_base_name = NULL; NTSTATUS status; @@ -2377,16 +2377,12 @@ static ssize_t fruit_pwrite(vfs_handle_struct *handle, if (config->rsrc == FRUIT_RSRC_ADFILE) { rc = ad_read(ad, name); if (rc == -1) { - rc = -1; goto exit; } rc = 0; - new_rfork_size = len + offset - + ad_getentryoff(ad, ADEID_RFORK); - if (new_rfork_size > ad_getentrylen(ad, ADEID_RFORK)) { - ad_setentrylen(ad, ADEID_RFORK, - new_rfork_size); + if ((len + offset) > ad_getentrylen(ad, ADEID_RFORK)) { + ad_setentrylen(ad, ADEID_RFORK, len + offset); rc = ad_write(ad, name); } } |
