Displaying 1 result from an estimated 1 matches for "umac128_fin".
Did you mean:
umac128_final
2013 May 13
8
[Bug 2101] New: Unaligned memory access on sparc in UMAC implemetation
...?id=2264&action=edit
Bug fix based on Solaris Studio #pragma
There is an alignment issue in UMAC implementation, which can cause
crash in ssh binary on sparc.
Static variable m is defined in mac.c as an array of chars:
168 static u_char m[EVP_MAX_MD_SIZE];
This array is passed to function umac128_final() in ssh/umac.c, and
later cast to 64-bit unsigned integer and accessed in pdf_gen_xor():
264 *((UINT64 *)buf) ^= ((UINT64 *)pc->cache)[ndx];
AFAIK, there is no assurance, that a static char array will be
double-word aligned. And indeed, when compiled using Solaris Studio
12.1 cc, the vari...