crypto/x509v3/v3_utl.c:169: error: BUFFER_OVERRUN_L3
  Offset added: [2, 3] Size: [0, +oo] by call to `X509V3_add_value`.
Showing all 12 steps of the trace


crypto/x509v3/v3_utl.c:168:16: Call
166.   	int ret;
167.   	if(!aint) return 1;
168.   	if(!(strtmp = i2s_ASN1_INTEGER(NULL, aint))) return 0;
                      ^
169.   	ret = X509V3_add_value(name, strtmp, extlist);
170.   	Free(strtmp);

crypto/x509v3/v3_utl.c:132:9: Assignment
  130.   	BIGNUM *bntmp = NULL;
  131.   	char *strtmp = NULL;
  132.   	if(!a) return NULL;
                 ^
  133.   	if(!(bntmp = ASN1_INTEGER_to_BN(a, NULL)) ||
  134.   	    !(strtmp = BN_bn2dec(bntmp)) )

crypto/x509v3/v3_utl.c:168:7: Assignment
166.   	int ret;
167.   	if(!aint) return 1;
168.   	if(!(strtmp = i2s_ASN1_INTEGER(NULL, aint))) return 0;
             ^
169.   	ret = X509V3_add_value(name, strtmp, extlist);
170.   	Free(strtmp);

crypto/x509v3/v3_utl.c:169:8: Call
167.   	if(!aint) return 1;
168.   	if(!(strtmp = i2s_ASN1_INTEGER(NULL, aint))) return 0;
169.   	ret = X509V3_add_value(name, strtmp, extlist);
              ^
170.   	Free(strtmp);
171.   	return ret;

crypto/x509v3/v3_utl.c:71:1: Parameter `*value`
  69.   /* Add a CONF_VALUE name value pair to stack */
  70.   
  71. > int X509V3_add_value(const char *name, const char *value, STACK **extlist)
  72.   {
  73.   	CONF_VALUE *vtmp = NULL;

crypto/x509v3/v3_utl.c:76:25: Call
  74.   	char *tname = NULL, *tvalue = NULL;
  75.   	if(name && !(tname = BUF_strdup(name))) goto err;
  76.   	if(value && !(tvalue = BUF_strdup(value))) goto err;;
                                ^
  77.   	if(!(vtmp = (CONF_VALUE *)Malloc(sizeof(CONF_VALUE)))) goto err;
  78.   	if(!*extlist && !(*extlist = sk_new(NULL))) goto err;

crypto/buffer/buffer.c:127:1: <Offset trace>
125.   	}
126.   
127. > char *BUF_strdup(const char *str)
128.   	{
129.   	char *ret;

crypto/buffer/buffer.c:127:1: Parameter `str->strlen`
    125.   	}
    126.   
    127. > char *BUF_strdup(const char *str)
    128.   	{
    129.   	char *ret;

crypto/buffer/buffer.c:134:2: Assignment
    132.   	if (str == NULL) return(NULL);
    133.   
    134.   	n=strlen(str);
            ^
    135.   	ret=Malloc(n+1);
    136.   	if (ret == NULL) 

crypto/buffer/buffer.c:127:1: <Length trace>
125.   	}
126.   
127. > char *BUF_strdup(const char *str)
128.   	{
129.   	char *ret;

crypto/buffer/buffer.c:127:1: Parameter `*str`
    125.   	}
    126.   
    127. > char *BUF_strdup(const char *str)
    128.   	{
    129.   	char *ret;

crypto/buffer/buffer.c:141:2: Array access: Offset added: [2, 3] Size: [0, +oo] by call to `X509V3_add_value` 
    139.   		return(NULL);
    140.   		}
    141.   	memcpy(ret,str,n+1);
            ^
    142.   	return(ret);
    143.   	}
