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


crypto/pem/pem_lib.c:753:15: <LHS trace>
751.   
752.       do {
753.           len = BIO_gets(bp, linebuf, LINESIZE);
                     ^
754.   
755.           if (len <= 0) {

crypto/pem/pem_lib.c:753:15: Call
751.   
752.       do {
753.           len = BIO_gets(bp, linebuf, LINESIZE);
                     ^
754.   
755.           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:753:9: Assignment
751.   
752.       do {
753.           len = BIO_gets(bp, linebuf, LINESIZE);
               ^
754.   
755.           if (len <= 0) {

crypto/pem/pem_lib.c:761:15: Call
759.   
760.           /* Strip trailing garbage and standardize ending. */
761.           len = sanitize_line(linebuf, len, flags & ~PEM_FLAG_ONLY_B64);
                     ^
762.   
763.           /* Allow leading empty or non-matching lines. */

crypto/pem/pem_lib.c:695:1: Parameter `len`
  693.   #define isb64(c) (isalnum(c) || (c) == '+' || (c) == '/' || (c) == '=')
  694.   
  695. > static int sanitize_line(char *linebuf, int len, unsigned int flags)
  696.   {
  697.       int i;

crypto/pem/pem_lib.c:704:9: Assignment
  702.               len--;
  703.           /* Go back to whitespace before applying uniform line ending. */
  704.           len++;
                 ^
  705.       } else if (flags & PEM_FLAG_ONLY_B64) {
  706.           for (i = 0; i < len; ++i) {

crypto/pem/pem_lib.c:723:13: Assignment
  721.       }
  722.       /* The caller allocated LINESIZE+1, so this is safe. */
  723.       linebuf[len++] = '\n';
                     ^
  724.       linebuf[len] = '\0';
  725.       return len;

crypto/pem/pem_lib.c:725:5: Assignment
  723.       linebuf[len++] = '\n';
  724.       linebuf[len] = '\0';
  725.       return len;
             ^
  726.   }
  727.   

crypto/pem/pem_lib.c:761:9: Assignment
759.   
760.           /* Strip trailing garbage and standardize ending. */
761.           len = sanitize_line(linebuf, len, flags & ~PEM_FLAG_ONLY_B64);
               ^
762.   
763.           /* Allow leading empty or non-matching lines. */

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