Most zero address validation checks are superfluous and were to protect aggainst msg.data length mismatch prior to 0.5.0, now EVM will revert at runtime if calldate is too short or points out of bounds. Furthermore these checks often give a false sense of security since they check only one out of many possible erronous values (e.g. 0x00000….01). See this discussion: https://forum.openzeppelin.com/t/removing-address-0x0-checks-from-openzeppelin-contracts/2222/7
We will reconsider places where zero address validation might be useful but leave it as is where we think it’s superfluous.
Most zero address validation checks are superfluous and were to protect aggainst msg.data length mismatch prior to 0.5.0, now EVM will revert at runtime if calldate is too short or points out of bounds. Furthermore these checks often give a false sense of security since they check only one out of many possible erronous values (e.g. 0x00000….01). See this discussion: https://forum.openzeppelin.com/t/removing-address-0x0-checks-from-openzeppelin-contracts/2222/7
We will reconsider places where zero address validation might be useful but leave it as is where we think it’s superfluous.