crypto/asn1/asn1_lib.c:135: error: INTEGER_OVERFLOW_L2
  ([0, -2+max(1, `omax`)] - 1):unsigned64 by call to `asn1_get_length`.
Showing all 8 steps of the trace


crypto/asn1/asn1_lib.c:95:1: Parameter `omax`
93.   
94.   
95. > int ASN1_get_object(const unsigned char **pp, size_t *plength, int *ptag,
96.   		    int *pclass, size_t omax)
97.   	{

crypto/asn1/asn1_lib.c:102:2: Assignment
100.   	const unsigned char *p= *pp;
101.   	int tag,xclass,inf;
102.   	size_t max=omax;
        ^
103.   
104.   	if (!max)

crypto/asn1/asn1_lib.c:131:7: Assignment
129.   		tag=i;
130.   		p++;
131.   		if (--max == 0) goto err;
             ^
132.   		}
133.   	*ptag=tag;

crypto/asn1/asn1_lib.c:135:7: Call
133.   	*ptag=tag;
134.   	*pclass=xclass;
135.   	if (!asn1_get_length(&p,&inf,plength,(int)max)) goto err;
             ^
136.   
137.   #if 0

crypto/asn1/asn1_lib.c:157:1: <LHS trace>
155.   	}
156.   
157. > static int asn1_get_length(const unsigned char **pp, int *inf, size_t *rl,
158.   			   size_t max)
159.   	{

crypto/asn1/asn1_lib.c:157:1: Parameter `max`
  155.   	}
  156.   
  157. > static int asn1_get_length(const unsigned char **pp, int *inf, size_t *rl,
  158.   			   size_t max)
  159.   	{

crypto/asn1/asn1_lib.c:164:6: Assignment
  162.   	unsigned int i;
  163.   
  164.   	if (max-- < 1) return(0);
              ^
  165.   	if (*p == 0x80)
  166.   		{

crypto/asn1/asn1_lib.c:179:8: Binary operation: ([0, -2+max(1, omax)] - 1):unsigned64 by call to `asn1_get_length` 
  177.   			if (i > sizeof(long))
  178.   				return 0;
  179.   			if (max-- == 0) return(0);
                ^
  180.   			while (i-- > 0)
  181.   				{
