From 333af2051c1cc3a59dca7ff0fd1dc1d79012522b Mon Sep 17 00:00:00 2001 From: Nicolas Williams Date: Thu, 31 Dec 2020 23:00:39 -0600 Subject: [PATCH] asn1: Fix leaks in two tests --- lib/asn1/check-ber.c | 1 + lib/asn1/check-der.c | 10 +++++----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/asn1/check-ber.c b/lib/asn1/check-ber.c index 7b4a49252..57450f422 100644 --- a/lib/asn1/check-ber.c +++ b/lib/asn1/check-ber.c @@ -265,6 +265,7 @@ test_ber(void) if (ret) return 1; + free_ContentInfo(&ci); return 0; } diff --git a/lib/asn1/check-der.c b/lib/asn1/check-der.c index 007197eb1..e85edb01c 100644 --- a/lib/asn1/check-der.c +++ b/lib/asn1/check-der.c @@ -1126,25 +1126,25 @@ check_random(void) memset(input, 0, r->inputsize); ret = r->decoder(input, r->inputsize, type, &size); - if (ret) + if (!ret) r->release(type); /* try all one first */ memset(input, 0xff, r->inputsize); ret = r->decoder(input, r->inputsize, type, &size); - if (ret) + if (!ret) r->release(type); /* try 0x41 too */ memset(input, 0x41, r->inputsize); ret = r->decoder(input, r->inputsize, type, &size); - if (ret) + if (!ret) r->release(type); /* random */ asn1rand(input, r->inputsize); ret = r->decoder(input, r->inputsize, type, &size); - if (ret) + if (!ret) r->release(type); /* let make buffer smaller */ @@ -1154,7 +1154,7 @@ check_random(void) asn1rand(input, insize); ret = r->decoder(input, insize, type, &size); - if (ret == 0) + if (!ret) r->release(type); } while(insize > 0);