Bug 1885

Summary: umac.c contains strict aliasing violations
Product: Portable OpenSSH Reporter: raymes.khoury
Component: sshdAssignee: Assigned to nobody <unassigned-bugs>
Status: CLOSED WONTFIX    
Severity: normal CC: djm
Priority: P2    
Version: 5.8p1   
Hardware: All   
OS: All   

Description raymes.khoury 2011-03-30 11:47:50 AEDT
In the function uhash_init, ahc->poly_key_8 points to a UINT64. This is passed to endian_convert as a void*. It is then cast to a UINT32* and the buffer is modified. This is a strict aliasing violation. It can (and did in our case) cause code to be mis-compiled when -fstrict-aliasing is used (which is true for -O2 in gcc). This introduced a runtime error in sshd. Refer to: http://code.google.com/p/chromium-os/issues/detail?id=13479
Comment 1 Damien Miller 2011-03-30 13:10:36 AEDT
configure.ac sets -fno-strict-aliasing for gcc-like compilers for exactly this reason.
Comment 2 Damien Miller 2011-09-06 15:33:09 AEST
close resolved bugs now that openssh-5.9 has been released