cvs commit: src/lib/libmd/i386 rmd160.S sha.S
Colin Percival
cperciva at FreeBSD.org
Mon May 14 05:00:38 UTC 2007
cperciva 2007-05-14 05:00:38 UTC
FreeBSD src repository
Modified files:
lib/libmd/i386 rmd160.S sha.S
Log:
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
Revision Changes Path
1.4 +2 -1 src/lib/libmd/i386/rmd160.S
1.3 +2 -1 src/lib/libmd/i386/sha.S
More information about the cvs-src
mailing list