summaryrefslogtreecommitdiffstats
path: root/crypto/cmp/cmp_asn.c
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/cmp/cmp_asn.c')
-rw-r--r--crypto/cmp/cmp_asn.c20
1 files changed, 17 insertions, 3 deletions
diff --git a/crypto/cmp/cmp_asn.c b/crypto/cmp/cmp_asn.c
index 1d17f77bd6..31b67178d8 100644
--- a/crypto/cmp/cmp_asn.c
+++ b/crypto/cmp/cmp_asn.c
@@ -211,21 +211,35 @@ int ossl_cmp_asn1_get_int(const ASN1_INTEGER *a)
static int ossl_cmp_msg_cb(int operation, ASN1_VALUE **pval,
const ASN1_ITEM *it, void *exarg)
{
- OSSL_CMP_MSG *ret = (OSSL_CMP_MSG *)*pval;
+ OSSL_CMP_MSG *msg = (OSSL_CMP_MSG *)*pval;
switch (operation) {
case ASN1_OP_FREE_POST:
- OPENSSL_free(ret->propq);
+ OPENSSL_free(msg->propq);
break;
case ASN1_OP_DUP_POST:
{
OSSL_CMP_MSG *old = exarg;
- if (!ossl_cmp_msg_set0_libctx(ret, old->libctx, old->propq))
+ if (!ossl_cmp_msg_set0_libctx(msg, old->libctx, old->propq))
return 0;
}
break;
+ case ASN1_OP_GET0_LIBCTX:
+ {
+ OSSL_LIB_CTX **libctx = exarg;
+
+ *libctx = msg->libctx;
+ }
+ break;
+ case ASN1_OP_GET0_PROPQ:
+ {
+ const char **propq = exarg;
+
+ *propq = msg->propq;
+ }
+ break;
default:
break;
}