Follow-up Comment #8, bug #97585 (project xrootd):
Hi Brian,
I've also managed to try that one and found the same.
The problem is in the function
int BN_cmp(const BIGNUM *a, const BIGNUM *b)
The execution enters this function with two equal numbers but for some
reason, which I have not yet found, the byte by byte check at the end of the
function fails:
for (i=a->top-1; i>=0; i--)
{
t1=a->d[i];
t2=b->d[i];
if (t1 > t2) return(gt);
if (t1 < t2) return(lt);
}
The problem is in the assignments t2 = b->d[i]; t2 and b->d[i] are
unsigned long.
With 1.0.1c (the version run by Ubuntu) the problem disappears. Looking at
the release notes it is not obvious which change could have fixed it (assuming
that it is fixed ...); also a diff between 1.0.1c and 1.0.0j does not spots
anything obvious.
I'll continue debugging ...
Gerri
_______________________________________________________
Reply to this item at:
<http://savannah.cern.ch/bugs/?97585>
_______________________________________________
Message sent via/by LCG Savannah
http://savannah.cern.ch/
########################################################################
Use REPLY-ALL to reply to list
To unsubscribe from the XROOTD-DEV list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1
|