Commit 25a58453 authored by Dr. Stephen Henson's avatar Dr. Stephen Henson
Browse files

Fixes for BOOL handling: produce errors for invalid string for mini-compiler,

correctly encode FALSE for BOOL in ASN1_TYPE.
parent 00fe865d
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -660,6 +660,8 @@ static ASN1_TYPE *asn1_str2type(const char *str, int format, int utype)
			ASN1err(ASN1_F_ASN1_STR2TYPE, ASN1_R_NOT_ASCII_FORMAT);
			goto bad_form;
			}
		vtmp.name = NULL;
		vtmp.section = NULL;
		vtmp.value = (char *)str;
		if (!X509V3_get_value_bool(&vtmp, &atmp->value.boolean))
			{
+8 −5
Original line number Diff line number Diff line
@@ -618,11 +618,14 @@ int asn1_ex_i2c(ASN1_VALUE **pval, unsigned char *cout, int *putype,
		tbool = (ASN1_BOOLEAN *)pval;
		if (*tbool == -1)
			return -1;
		if (it->utype != V_ASN1_ANY)
			{
			/* Default handling if value == size field then omit */
			if (*tbool && (it->size > 0))
				return -1;
			if (!*tbool && !it->size)
				return -1;
			}
		c = (unsigned char)*tbool;
		cont = &c;
		len = 1;