NFTXEligiblityManager._sendForReceiver should check returnData.length == 1 before decoding. Otherwise, if it returns no return data, the abi.decode call will revert and with it the whole distribute function .
A single poorly implemented feeReceiver can break the whole distribute function and allow a denial of service by reverting the transaction.
Recommend changing to: bool tokensReceived = returnData.length == 1 && abi.decode(returnData, (bool));.
0xKiwi (NFTX) confirmed:
cemozer (Judge) commented:
