summaryrefslogtreecommitdiffstats
path: root/source3/modules
diff options
context:
space:
mode:
Diffstat (limited to 'source3/modules')
-rw-r--r--source3/modules/vfs_fruit.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/source3/modules/vfs_fruit.c b/source3/modules/vfs_fruit.c
index 1226dc0e75..bdb068a7e2 100644
--- a/source3/modules/vfs_fruit.c
+++ b/source3/modules/vfs_fruit.c
@@ -596,12 +596,14 @@ static bool ad_unpack(struct adouble *ad, const int nentries)
return false;
}
- if (off > bufsize) {
+ if ((off > bufsize) && (eid != ADEID_RFORK)) {
DEBUG(1, ("bogus eid %d: off: %" PRIu32 ", len: %" PRIu32 "\n",
eid, off, len));
return false;
}
- if ((eid != ADEID_RFORK) && ((off + len) > bufsize)) {
+ if ((eid != ADEID_RFORK) &&
+ (eid != ADEID_FINDERI) &&
+ ((off + len) > bufsize)) {
DEBUG(1, ("bogus eid %d: off: %" PRIu32 ", len: %" PRIu32 "\n",
eid, off, len));
return false;