From: Ralph Boehme Date: Thu, 24 Oct 2019 15:15:18 +0000 (+0200) Subject: lib/adouble: pass filesize to ad_unpack() X-Git-Tag: talloc-2.3.1~205 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f3df83a2c346d945487a27a9d258ee6331ea7dbb;p=thirdparty%2Fsamba.git lib/adouble: pass filesize to ad_unpack() ad_unpack() needs the filesize, not the capped IO size we're using in the caller to read up to "size" bystem from the ._ AppleDouble file. This fixes a regression introduced by bdc257a1cbac7e8c73a084b618ba642476807483 for bug 13968. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14171 RN: vfs_fruit returns capped resource fork length Signed-off-by: Ralph Boehme Reviewed-by: Stefan Metzmacher Autobuild-User(master): Ralph Böhme Autobuild-Date(master): Wed Oct 30 14:52:34 UTC 2019 on sn-devel-184 --- diff --git a/selftest/knownfail.d/samba3.vfs.fruit b/selftest/knownfail.d/samba3.vfs.fruit index 6982e100861..6307e2b3404 100644 --- a/selftest/knownfail.d/samba3.vfs.fruit +++ b/selftest/knownfail.d/samba3.vfs.fruit @@ -1,5 +1,2 @@ ^samba3.vfs.fruit streams_depot.OS X AppleDouble file conversion\(nt4_dc\) ^samba3.vfs.fruit streams_depot.OS X AppleDouble file conversion without embedded xattr\(nt4_dc\) -^samba3.vfs.fruit fruit_delete_empty_adfiles.resource fork IO\(nt4_dc\) -^samba3.vfs.fruit metadata_stream.resource fork IO\(nt4_dc\) -^samba3.vfs.fruit metadata_netatalk.resource fork IO\(nt4_dc\) diff --git a/source3/lib/adouble.c b/source3/lib/adouble.c index 49ab8865d6a..84198ab2000 100644 --- a/source3/lib/adouble.c +++ b/source3/lib/adouble.c @@ -2180,7 +2180,9 @@ static ssize_t ad_read_rsrc_adouble(vfs_handle_struct *handle, } /* Now parse entries */ - ok = ad_unpack(ad, ADEID_NUM_DOT_UND, size); + ok = ad_unpack(ad, + ADEID_NUM_DOT_UND, + ad->ad_fsp->fsp_name->st.st_ex_size); if (!ok) { DBG_ERR("invalid AppleDouble resource %s\n", smb_fname->base_name);