Apparently there was a mistake between || and && that caused Apple vendor page to be sent even when Apple quirks were disabled and when it wouldn't fit the buffer.
@@ -516,10 +516,8 @@ static void doModeSense(
idx += modeSenseCDCapabilitiesPage(pc, idx, pageCode, &pageFound);
- if ((
- (scsiDev.target->cfg->quirks == S2S_CFG_QUIRKS_APPLE) ||
- (idx + sizeof(AppleVendorPage) <= allocLength)
- ) &&
+ if ((scsiDev.target->cfg->quirks == S2S_CFG_QUIRKS_APPLE) &&
+ (idx + sizeof(AppleVendorPage) <= allocLength) &&
(pageCode == 0x30 || pageCode == 0x3F))
{
pageFound = 1;