This first patch just rejects from your memorypool any transaction which:
- Sends to a scriptPubKey which is already sent to (output) by another transaction in the memorypool.
- Sends to a scriptPubKey which is already being used to redeem a coin (input) by another transaction in the memorypool.
- Sends to the same scriptPubKey in two different outputs, within the same transaction.
- Uses a scriptPubKey to redeem a coin (input) which has already been used to redeem a coin (input) by another transaction in the memorypool.
This patch rejects perfectly valid transactions. This is a very bad patch.