I'm not sure if you have already committed this one, but I'd say everything that increases awareness of potential problems is a good thing and making devs aware of these issues is even better as bad conversions are a common source of exploit vectors (IIRC).
So I'd say: Let SafeConvert assert on error!
BR
JPM
Am 29.07.2015 um 11:49 schrieb Jeffrey Walton:
> With the proposed changes for SafeConvert (see below), I'm wondering
> if we should add some asserts for debug builds.
>
> The assert will alert of a potential problem with the conversion, so
> those who don't check return values will be made aware of potential
> problems with their code.
>
> CRYPTOPP_ASSERT raises a SIGTRAP, so it won't degrade the debugging
> experience. Under GDB, the user can press "c" to continue.
>
> **********
>
> template <class T1, class T2>
> inline bool SafeConvert(T1 from, T2 &to)
> {
> // Original code: always perform the assignment
> to = (T2)from;
>
> // Check for sign difference
> if(std::numeric_limits<T1>::is_signed ^
> std::numeric_limits<T2>::is_signed)
> {
> // Handle T1 is signed
> if(std::numeric_limits<T1>::is_signed && from < 0)
> return false;
>
> // Fall through for T1 is unsigned
> }
>
> if(from > static_cast<T1>(std::numeric_limits<T2>::max()))
> return false;
>
> return true;
> }
> --
> --
> You received this message because you are subscribed to the "Crypto++
> Users" Google Group.
> To unsubscribe, send an email to
> [email protected].
> More information about Crypto++ and this group is available at
> http://www.cryptopp.com.
> ---
> You received this message because you are subscribed to the Google
> Groups "Crypto++ Users" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to [email protected]
> <mailto:[email protected]>.
> For more options, visit https://groups.google.com/d/optout.
--
--
You received this message because you are subscribed to the "Crypto++ Users"
Google Group.
To unsubscribe, send an email to [email protected].
More information about Crypto++ and this group is available at
http://www.cryptopp.com.
---
You received this message because you are subscribed to the Google Groups
"Crypto++ Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.
smime.p7s
Description: S/MIME Cryptographic Signature
