Correctly encode FALSE for BOOL in ASN1_TYPE.

This commit is contained in:
Dr. Stephen Henson 2006-01-19 17:19:43 +00:00
parent 0c91b0eaff
commit c1e67d9856

View File

@ -445,9 +445,12 @@ int asn1_ex_i2c(ASN1_VALUE **pval, unsigned char *cout, int *putype, const ASN1_
case V_ASN1_BOOLEAN: case V_ASN1_BOOLEAN:
tbool = (ASN1_BOOLEAN *)pval; tbool = (ASN1_BOOLEAN *)pval;
if(*tbool == -1) return -1; if(*tbool == -1) return -1;
if (it->utype != V_ASN1_ANY)
{
/* Default handling if value == size field then omit */ /* Default handling if value == size field then omit */
if(*tbool && (it->size > 0)) return -1; if(*tbool && (it->size > 0)) return -1;
if(!*tbool && !it->size) return -1; if(!*tbool && !it->size) return -1;
}
c = (unsigned char)*tbool; c = (unsigned char)*tbool;
cont = &c; cont = &c;
len = 1; len = 1;