On Monday, July 13, 2015 at 3:29:30 AM UTC-4, Jeffrey Walton wrote:
>
> OK, so I had more time to look at the issue mentioned by Uri.
>
> Below and attached is the patch I am proposing that fixes the issue by 
> removing some of the undefined behavior that caused the problem.
>
> Comments and objections, please.
>
This issue was cleared at:

  * 
https://github.com/weidai11/cryptopp/commit/9bf0eed0f6ff6d0b0a2d277e5401d69dc8c0e394
  * https://sourceforge.net/p/cryptopp/code/583/

Config.h added CRYPTOPP_NO_UNALIGNED_DATA_ACCESS, but it was not enabled by 
default. If we experience future -O3 crashes, that should be the first step 
in troubleshooting.

Misc.h added IsStrictAligned<T> and GetStrictAlignmentOf<T>. It was applied 
at the places we knew were pain points.

If CRYPTOPP_NO_UNALIGNED_DATA_ACCESS is in effect, then IsAligned<T> 
behaves like IsStrictAligned<T> and GetAlignmentOf<T> behaves like 
GetStrictAlignmentOf<T>. 
All related undefined behavior problems are solved.

Jeff

-- 
-- 
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.

Reply via email to