crypto/asn1/a_int.c:262: error: INTEGER_OVERFLOW_L2
  ([0, `plen`] - 1):unsigned64.
Showing all 5 steps of the trace


crypto/asn1/a_int.c:194:1: <LHS trace>
192.    */
193.   
194. > static size_t c2i_ibuf(unsigned char *b, int *pneg,
195.                          const unsigned char *p, size_t plen)
196.   {

crypto/asn1/a_int.c:194:1: Parameter `plen`
192.    */
193.   
194. > static size_t c2i_ibuf(unsigned char *b, int *pneg,
195.                          const unsigned char *p, size_t plen)
196.   {

crypto/asn1/a_int.c:249:5: Assignment
247.       }
248.   
249.       plen -= pad;
           ^
250.       /* Must be negative: calculate twos complement */
251.       if (b) {

crypto/asn1/a_int.c:254:9: Assignment
252.           const unsigned char *from = p + plen - 1 + pad;
253.           unsigned char *to = b + plen - 1;
254.           i = plen;
               ^
255.           while (*from == 0 && i) {
256.               *to-- = 0;

crypto/asn1/a_int.c:262:9: Binary operation: ([0, plen] - 1):unsigned64
260.           *to-- = (*from-- ^ 0xff) + 1;
261.           OPENSSL_assert(i != 0);
262.           i--;
               ^
263.           for (; i > 0; i--)
264.               *to-- = *from-- ^ 0xff;
