Print

Print


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