From efe7db5daf1067d57be1726193a7b59d5ba038af Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Sun, 3 Sep 2017 10:21:15 +0200 Subject: PJ_goode: fix memory leak. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3274. Credit to OSS Fuzz --- src/PJ_goode.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/PJ_goode.c b/src/PJ_goode.c index fff12a78..9138cedc 100644 --- a/src/PJ_goode.c +++ b/src/PJ_goode.c @@ -49,9 +49,9 @@ static void *freeup_new (PJ *P) { /* Destructor */ if (0==P->opaque) return pj_dealloc(P); if (P->opaque->sinu) - pj_dealloc(P->opaque->sinu); + pj_free(P->opaque->sinu); if (P->opaque->moll) - pj_dealloc(P->opaque->moll); + pj_free(P->opaque->moll); pj_dealloc (P->opaque); return pj_dealloc(P); @@ -104,7 +104,11 @@ int pj_goode_selftest (void) { }; XY s_fwd_expect[] = { - { 223368.11902663155, 111701.07212763709}, { 223368.11902663155, -111701.07212763709}, {-223368.11902663155, 111701.07212763709}, {-223368.11902663155, -111701.07212763709}, }; + { 223368.11902663155, 111701.07212763709}, + { 223368.11902663155, -111701.07212763709}, + {-223368.11902663155, 111701.07212763709}, + {-223368.11902663155, -111701.07212763709}, + }; XY inv_in[] = { { 200, 100}, @@ -114,7 +118,11 @@ int pj_goode_selftest (void) { }; LP s_inv_expect[] = { - { 0.0017904931100023887, 0.00089524655489191132}, { 0.0017904931100023887, -0.00089524655489191132}, {-0.0017904931100023887, 0.00089524655489191132}, {-0.0017904931100023887, -0.00089524655489191132}, }; + { 0.0017904931100023887, 0.00089524655489191132}, + { 0.0017904931100023887, -0.00089524655489191132}, + {-0.0017904931100023887, 0.00089524655489191132}, + {-0.0017904931100023887, -0.00089524655489191132}, + }; return pj_generic_selftest (0, s_args, tolerance_xy, tolerance_lp, 4, 4, fwd_in, 0, s_fwd_expect, inv_in, 0, s_inv_expect); } -- cgit v1.2.3