Lines Matching refs:pval
63 static void asn1_item_combine_free(ASN1_VALUE **pval, const ASN1_ITEM *it, int combine);
72 void ASN1_item_ex_free(ASN1_VALUE **pval, const ASN1_ITEM *it)
74 asn1_item_combine_free(pval, it, 0);
77 static void asn1_item_combine_free(ASN1_VALUE **pval, const ASN1_ITEM *it, int combine)
85 if (!pval)
87 if ((it->itype != ASN1_ITYPE_PRIMITIVE) && !*pval)
99 ASN1_template_free(pval, it->templates);
101 ASN1_primitive_free(pval, it);
105 ASN1_primitive_free(pval, it);
111 i = asn1_cb(ASN1_OP_FREE_PRE, pval, it, NULL);
115 i = asn1_get_choice_selector(pval, it);
120 pchval = asn1_get_field_ptr(pval, tt);
124 asn1_cb(ASN1_OP_FREE_POST, pval, it, NULL);
127 OPENSSL_free(*pval);
128 *pval = NULL;
135 cf->asn1_free(*pval);
141 ef->asn1_ex_free(pval, it);
146 if (!asn1_refcount_dec_and_test_zero(pval, it))
150 i = asn1_cb(ASN1_OP_FREE_PRE, pval, it, NULL);
154 asn1_enc_free(pval, it);
164 seqtt = asn1_do_adb(pval, tt, 0);
167 pseqval = asn1_get_field_ptr(pval, seqtt);
171 asn1_cb(ASN1_OP_FREE_POST, pval, it, NULL);
174 OPENSSL_free(*pval);
175 *pval = NULL;
181 void ASN1_template_free(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt)
186 STACK_OF(ASN1_VALUE) *sk = (STACK_OF(ASN1_VALUE) *)*pval;
195 *pval = NULL;
198 asn1_item_combine_free(pval, ASN1_ITEM_ptr(tt->item),
202 void ASN1_primitive_free(ASN1_VALUE **pval, const ASN1_ITEM *it)
211 pf->prim_free(pval, it);
218 ASN1_TYPE *typ = (ASN1_TYPE *)*pval;
220 pval = &typ->value.asn1_value;
221 if (!*pval)
227 if (!*pval)
233 if ((utype != V_ASN1_BOOLEAN) && !*pval)
240 ASN1_OBJECT_free((ASN1_OBJECT *)*pval);
245 *(ASN1_BOOLEAN *)pval = it->size;
247 *(ASN1_BOOLEAN *)pval = -1;
254 ASN1_primitive_free(pval, NULL);
255 OPENSSL_free(*pval);
259 ASN1_STRING_free((ASN1_STRING *)*pval);
260 *pval = NULL;
263 *pval = NULL;