{ /* indefinite length method */
p->tmp_ival = -1;
}
+
p2 = p->down;
+ if (p2 == NULL)
+ {
+ result = ASN1_DER_ERROR;
+ warn();
+ goto cleanup;
+ }
+
while ((type_field (p2->type) == ASN1_ETYPE_TAG)
|| (type_field (p2->type) == ASN1_ETYPE_SIZE))
p2 = p2->right;
return asn1_der_decoding2 (element, ider, &ider_len, 0, errorDescription);
}
-#define FOUND 1
-#define SAME_BRANCH 2
-#define OTHER_BRANCH 3
-#define EXIT 4
-
/**
* asn1_der_decoding_element:
* @structure: pointer to an ASN1 structure
while ((type_field (p->type) == ASN1_ETYPE_TAG)
|| (type_field (p->type) == ASN1_ETYPE_SIZE))
p = p->right;
+
p2 = _asn1_copy_structure3 (p);
+ if (p2 == NULL)
+ return ASN1_GENERIC_ERROR;
if (pcache == NULL || pcache->tail == NULL || pcache->head != node)
{