View | Details | Raw Unified | Return to bug 46906
Collapse All | Expand All

(-)openssl-0.9.7b.orig/crypto/asn1/asn1_lib.c (+2 lines)
Lines 104-113 Link Here
104
			l<<=7L;
104
			l<<=7L;
105
			l|= *(p++)&0x7f;
105
			l|= *(p++)&0x7f;
106
			if (--max == 0) goto err;
106
			if (--max == 0) goto err;
107
			if (l > (INT_MAX >> 7L)) goto err;
107
			}
108
			}
108
		l<<=7L;
109
		l<<=7L;
109
		l|= *(p++)&0x7f;
110
		l|= *(p++)&0x7f;
110
		tag=(int)l;
111
		tag=(int)l;
112
		if (--max == 0) goto err;
111
		}
113
		}
112
	else
114
	else
113
		{ 
115
		{ 
(-)openssl-0.9.7b.orig/crypto/asn1/tasn_dec.c (-1 / +8 lines)
Lines 691-696 Link Here
691
691
692
int asn1_ex_c2i(ASN1_VALUE **pval, unsigned char *cont, int len, int utype, char *free_cont, const ASN1_ITEM *it)
692
int asn1_ex_c2i(ASN1_VALUE **pval, unsigned char *cont, int len, int utype, char *free_cont, const ASN1_ITEM *it)
693
{
693
{
694
	ASN1_VALUE **opval = NULL;
694
	ASN1_STRING *stmp;
695
	ASN1_STRING *stmp;
695
	ASN1_TYPE *typ = NULL;
696
	ASN1_TYPE *typ = NULL;
696
	int ret = 0;
697
	int ret = 0;
Lines 705-710 Link Here
705
			*pval = (ASN1_VALUE *)typ;
706
			*pval = (ASN1_VALUE *)typ;
706
		} else typ = (ASN1_TYPE *)*pval;
707
		} else typ = (ASN1_TYPE *)*pval;
707
		if(utype != typ->type) ASN1_TYPE_set(typ, utype, NULL);
708
		if(utype != typ->type) ASN1_TYPE_set(typ, utype, NULL);
709
		opval = pval;
708
		pval = (ASN1_VALUE **)&typ->value.ptr;
710
		pval = (ASN1_VALUE **)&typ->value.ptr;
709
	}
711
	}
710
	switch(utype) {
712
	switch(utype) {
Lines 796-802 Link Here
796
798
797
	ret = 1;
799
	ret = 1;
798
	err:
800
	err:
799
	if(!ret) ASN1_TYPE_free(typ);
801
	if(!ret)
802
		{
803
		ASN1_TYPE_free(typ);
804
		if (opval)
805
			*opval = NULL;
806
		}
800
	return ret;
807
	return ret;
801
}
808
}
802
809
(-)openssl-0.9.7b.orig/crypto/x509/x509_vfy.c (-1 / +1 lines)
Lines 674-680 Link Here
674
				ok=(*cb)(0,ctx);
674
				ok=(*cb)(0,ctx);
675
				if (!ok) goto end;
675
				if (!ok) goto end;
676
				}
676
				}
677
			if (X509_verify(xs,pkey) <= 0)
677
			else if (X509_verify(xs,pkey) <= 0)
678
				/* XXX  For the final trusted self-signed cert,
678
				/* XXX  For the final trusted self-signed cert,
679
				 * this is a waste of time.  That check should
679
				 * this is a waste of time.  That check should
680
				 * optional so that e.g. 'openssl x509' can be
680
				 * optional so that e.g. 'openssl x509' can be

Return to bug 46906