crypto/pem/pem_lib.c:760: error: INTEGER_OVERFLOW_L2
  ([-5, 246] - 6):unsigned64.
Showing all 11 steps of the trace


crypto/pem/pem_lib.c:745:15: <LHS trace>
743.   
744.       do {
745.           len = BIO_gets(bp, linebuf, LINESIZE);
                     ^
746.   
747.           if (len <= 0) {

crypto/pem/pem_lib.c:745:15: Call
743.   
744.       do {
745.           len = BIO_gets(bp, linebuf, LINESIZE);
                     ^
746.   
747.           if (len <= 0) {

crypto/bio/bio_lib.c:438:9: Assignment
  436.       if ((b == NULL) || (b->method == NULL) || (b->method->bgets == NULL)) {
  437.           BIOerr(BIO_F_BIO_GETS, BIO_R_UNSUPPORTED_METHOD);
  438.           return -2;
                 ^
  439.       }
  440.   

crypto/pem/pem_lib.c:745:9: Assignment
743.   
744.       do {
745.           len = BIO_gets(bp, linebuf, LINESIZE);
               ^
746.   
747.           if (len <= 0) {

crypto/pem/pem_lib.c:753:15: Call
751.   
752.           /* Strip trailing garbage and standardize ending. */
753.           len = sanitize_line(linebuf, len, flags & ~PEM_FLAG_ONLY_B64);
                     ^
754.   
755.           /* Allow leading empty or non-matching lines. */

crypto/pem/pem_lib.c:686:1: Parameter `len`
  684.   
  685.   /* Some helpers for PEM_read_bio_ex(). */
  686. > static int sanitize_line(char *linebuf, int len, unsigned int flags)
  687.   {
  688.       int i;

crypto/pem/pem_lib.c:695:9: Assignment
  693.               len--;
  694.           /* Go back to whitespace before applying uniform line ending. */
  695.           len++;
                 ^
  696.       } else if (flags & PEM_FLAG_ONLY_B64) {
  697.           for (i = 0; i < len; ++i) {

crypto/pem/pem_lib.c:715:13: Assignment
  713.       }
  714.       /* The caller allocated LINESIZE+1, so this is safe. */
  715.       linebuf[len++] = '\n';
                     ^
  716.       linebuf[len] = '\0';
  717.       return len;

crypto/pem/pem_lib.c:717:5: Assignment
  715.       linebuf[len++] = '\n';
  716.       linebuf[len] = '\0';
  717.       return len;
             ^
  718.   }
  719.   

crypto/pem/pem_lib.c:753:9: Assignment
751.   
752.           /* Strip trailing garbage and standardize ending. */
753.           len = sanitize_line(linebuf, len, flags & ~PEM_FLAG_ONLY_B64);
               ^
754.   
755.           /* Allow leading empty or non-matching lines. */

crypto/pem/pem_lib.c:760:5: Binary operation: ([-5, 246] - 6):unsigned64
758.                || strncmp(linebuf + len - TAILLEN, tailstr, TAILLEN) != 0);
759.       linebuf[len - TAILLEN] = '\0';
760.       len = len - BEGINLEN - TAILLEN + 1;
           ^
761.       *name = pem_malloc(len, flags);
762.       if (*name == NULL) {
