Fixes for BOOL handling: produce errors for invalid string for mini-compiler,
correctly encode FALSE for BOOL in ASN1_TYPE.
This commit is contained in:
parent
00fe865dbe
commit
25a58453ff
2 changed files with 10 additions and 5 deletions
|
@ -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);
|
ASN1err(ASN1_F_ASN1_STR2TYPE, ASN1_R_NOT_ASCII_FORMAT);
|
||||||
goto bad_form;
|
goto bad_form;
|
||||||
}
|
}
|
||||||
|
vtmp.name = NULL;
|
||||||
|
vtmp.section = NULL;
|
||||||
vtmp.value = (char *)str;
|
vtmp.value = (char *)str;
|
||||||
if (!X509V3_get_value_bool(&vtmp, &atmp->value.boolean))
|
if (!X509V3_get_value_bool(&vtmp, &atmp->value.boolean))
|
||||||
{
|
{
|
||||||
|
|
|
@ -618,11 +618,14 @@ int asn1_ex_i2c(ASN1_VALUE **pval, unsigned char *cout, int *putype,
|
||||||
tbool = (ASN1_BOOLEAN *)pval;
|
tbool = (ASN1_BOOLEAN *)pval;
|
||||||
if (*tbool == -1)
|
if (*tbool == -1)
|
||||||
return -1;
|
return -1;
|
||||||
/* Default handling if value == size field then omit */
|
if (it->utype != V_ASN1_ANY)
|
||||||
if (*tbool && (it->size > 0))
|
{
|
||||||
return -1;
|
/* Default handling if value == size field then omit */
|
||||||
if (!*tbool && !it->size)
|
if (*tbool && (it->size > 0))
|
||||||
return -1;
|
return -1;
|
||||||
|
if (!*tbool && !it->size)
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
c = (unsigned char)*tbool;
|
c = (unsigned char)*tbool;
|
||||||
cont = &c;
|
cont = &c;
|
||||||
len = 1;
|
len = 1;
|
||||||
|
|
Loading…
Reference in a new issue