summaryrefslogtreecommitdiffstats
path: root/source3/modules
diff options
context:
space:
mode:
authorRalph Boehme <rb@sernet.de>2014-09-15 13:51:41 +0200
committerJeremy Allison <jra@samba.org>2014-09-25 21:19:12 +0200
commit87347f977249d3ed877384d71c8604afe7756907 (patch)
treea8f203fb8e86201a5ce27d86226dfa40e4b5538b /source3/modules
parentcafb233d567a7b3f29f74b6d5afa878db53bf446 (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.c10
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);
}
}