aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2017-09-03 10:21:15 +0200
committerEven Rouault <even.rouault@spatialys.com>2017-09-03 10:21:15 +0200
commitefe7db5daf1067d57be1726193a7b59d5ba038af (patch)
tree81df483cf0c1c4be9aede8ab3289d406e5b6bbac /src
parent192644149292697022b6b822faad5fdf519c44c8 (diff)
downloadPROJ-efe7db5daf1067d57be1726193a7b59d5ba038af.tar.gz
PROJ-efe7db5daf1067d57be1726193a7b59d5ba038af.zip
PJ_goode: fix memory leak. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3274. Credit to OSS Fuzz
Diffstat (limited to 'src')
-rw-r--r--src/PJ_goode.c16
1 files 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);
}