From: Vijay Kiran Kamuju Subject: [PATCH 2/2] msasn1: Implement ASN1_CloseModule function Message-Id: Date: Tue, 5 May 2020 14:32:16 +0200 Signed-off-by: Vijay Kiran Kamuju From d3d6c0f63d48e45285e4580aa8f6caa829b54095 Mon Sep 17 00:00:00 2001 From: Vijay Kiran Kamuju Date: Tue, 5 May 2020 14:21:43 +0200 Subject: [PATCH 2/2] msasn1: Implement ASN1_CloseModule function Signed-off-by: Vijay Kiran Kamuju --- dlls/msasn1/main.c | 8 ++++++++ dlls/msasn1/msasn1.spec | 2 +- dlls/msasn1/tests/asn1.c | 3 +++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/dlls/msasn1/main.c b/dlls/msasn1/main.c index 81c6a02168..6c52bdd085 100644 --- a/dlls/msasn1/main.c +++ b/dlls/msasn1/main.c @@ -84,3 +84,11 @@ ASN1module_t WINAPI ASN1_CreateModule(ASN1uint32_t ver, ASN1encodingrule_e rule, return module; } + +void WINAPI ASN1_CloseModule(ASN1module_t module) +{ + if (module) + { + heap_free(module); + } +} diff --git a/dlls/msasn1/msasn1.spec b/dlls/msasn1/msasn1.spec index ca6a461c65..09935f5149 100644 --- a/dlls/msasn1/msasn1.spec +++ b/dlls/msasn1/msasn1.spec @@ -219,7 +219,7 @@ @ stub ASN1_CloseDecoder @ stub ASN1_CloseEncoder2 @ stub ASN1_CloseEncoder -@ stub ASN1_CloseModule +@ stdcall ASN1_CloseModule(ptr) @ stub ASN1_CreateDecoder @ stub ASN1_CreateDecoderEx @ stub ASN1_CreateEncoder diff --git a/dlls/msasn1/tests/asn1.c b/dlls/msasn1/tests/asn1.c index c2c563aec7..f340445b99 100644 --- a/dlls/msasn1/tests/asn1.c +++ b/dlls/msasn1/tests/asn1.c @@ -55,6 +55,7 @@ static void test_CreateModule(void) ok(mod->acbStructSize==size, "Struct size = %p.\n",mod->acbStructSize); ok(!mod->PER.apfnEncoder, "Encoder function should not be s et.\n"); ok(!mod->PER.apfnDecoder, "Decoder function should not be set.\n"); + ASN1_CloseModule(mod); mod = ASN1_CreateModule(ASN1_THIS_VERSION, ASN1_BER_RULE_DER, ASN1FLAGS_NOASSERT, 1, encfn, decfn, freefn, size, name); ok(!!mod, "Failed to create module.\n"); @@ -66,6 +67,7 @@ static void test_CreateModule(void) ok(mod->acbStructSize==size, "Struct size = %p.\n",mod->acbStructSize); ok(mod->BER.apfnEncoder==(ASN1BerEncFun_t *)encfn, "Encoder function = %p.\n",mod->BER.apfnEncoder); ok(mod->BER.apfnDecoder==(ASN1BerDecFun_t *)decfn, "Decoder function = %p.\n",mod->BER.apfnDecoder); + ASN1_CloseModule(mod); mod = ASN1_CreateModule(ASN1_THIS_VERSION, ASN1_PER_RULE_ALIGNED, ASN1FLAGS_NOASSERT, 1, encfn, decfn, freefn, size, name); ok(!!mod, "Failed to create module.\n"); @@ -79,6 +81,7 @@ static void test_CreateModule(void) broken(!mod->PER.apfnEncoder), "Encoder function = %p.\n",mod->PER.apfnEncoder); ok(mod->PER.apfnDecoder==(ASN1PerDecFun_t *)decfn /* WINXP & WIN2008 */ || broken(!mod->PER.apfnDecoder), "Decoder function = %p.\n",mod->PER.apfnDecoder); + ASN1_CloseModule(mod); } START_TEST(asn1) -- 2.26.2