I did as you suggested and changed jge to jae in the branches 0.9.8-dev,
0.9.7-stable and 0.9.6-stable.  Please test tomorrow's snapshots.

Thanks for your contribution.  Ticket resolved.

[EMAIL PROTECTED] - Tue Jul 22 10:52:32 2003]:

> When calling the MD5 function on very large data sets (around 2GB) in
> memory or from a memory map, the computed MD5 sum is false and even
> worth, can cause the program to crash with a seg-fault. By tracking
> down
> the calculation of the sum, I found out that this behaviour occurs
> when
> the data pointer crosses the address 0X80000000L in the MD5_Update()
> function, thus wrapping around from a positive to negative integer.
> The
> reason for this error lies in the comparison of two signed numbers
> rather than two unsigned numbers in the assembly code found in
> crypto/md5/asm/md5-586.pl at line 296. Instead of a "jge" (greater
> equal) instruction, there should be a "jae" (above equal) instruction
> for evaluating an unsigned compare.
> 
> An even better fix, IMHO, would be to omit the 64 bytes subtraction
> from
> the target address register right at the begining of the function call
> and then just compare the pointers for equality (jne).
> 
> In order to compile, the "jae" instruction must also be added
> somewhere
> in the crypto/perlasm/x86unix.pl and x86ms.pl perl scripts.
> 
> 
> OpenSSL self-test report:
> 
> OpenSSL version:  0.9.7c-dev
> Last change:      In ssl3_get_client_hello() (ssl/s3_srvr.c), tolerate
> ad...
> Options:           no-krb5
> OS (uname):       Linux mx040 2.4.4-4GB #1 Wed May 16 00:37:55 GMT
> 2001
> i686 unknown
> OS (config):      i686-whatever-linux2
> Target (default): linux-pentium
> Target:           linux-pentium
> Compiler:         Configured with:
> Thread model: posix
> gcc version 3.2.2
> 
> Eric


-- 
Richard Levitte
[EMAIL PROTECTED]
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to