Commit Graph

4 Commits

Author SHA1 Message Date
Colin Percival
23f6784297 Use unsigned comparisons. Prior to this commit, SHA1_Update and
RIPEMD160_Update were broken when all of the following conditions
applied:
(1) The platform is i386.
(2) The program calling *_Update is statically linked to libmd.
(3) The buffer provided to *_Update is aligned modulo 4 bytes.
(4) The buffer extends beyond 2GB.

Due to the design of this code, SHA1_Update and RIPEMD160_Update will
still be broken if conditions (1)-(3) apply AND the buffer extends
beyond 4GB (i.e., there is an integer overflow in computing "data + len").
Since this remaining bug simply replaces SIGSEGV with a bogus hash (and
non-broken programs should never provide such operands) I don't consider
it to be a serious problem.

MFC After:      1 week
PR:             kern/102795
2007-05-14 05:00:37 +00:00
Chuck Robey
719f9de58d fix for incorrect specification of alignment (it worked for the elf
build, but broke while doing the aout legacy build).  Now using
.p2align instead of .align.  Fixes broken buildworld.

Submitted by:	John Polstra
Reviewed by:	John Polstra
1999-02-28 18:55:39 +00:00
Garrett Wollman
7c0b1b7add Don't build the assembly for shared linkage, PIC isn't implemented. 1999-02-26 18:43:01 +00:00
Garrett Wollman
d00ed29992 Add Eric Young's RIPEMD160 implementation as well, in case SHA-1
should prove weak.  Also fix a few problems with the SHA-1 build.
1999-02-26 18:41:47 +00:00