From 3bdae6d7e27e31a15a002353aeea416b3f26a2f7 Mon Sep 17 00:00:00 2001 From: dianjixz <39905361+dianjixz@users.noreply.github.com> Date: Wed, 30 Mar 2022 16:21:49 +0800 Subject: [PATCH] imlib: Fix quad_segment_maxima memory leak. Memory forgot to free when nmaxima is least 4 maxima. --- src/omv/imlib/apriltag.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/omv/imlib/apriltag.c b/src/omv/imlib/apriltag.c index 72667eae4..445caec6c 100644 --- a/src/omv/imlib/apriltag.c +++ b/src/omv/imlib/apriltag.c @@ -9628,8 +9628,12 @@ int quad_segment_maxima(apriltag_detector_t *td, zarray_t *cluster, struct line_ } // if we didn't get at least 4 maxima, we can't fit a quad. - if (nmaxima < 4) - return 0; + if (nmaxima < 4){ + fb_free(); // maxima_errs + fb_free(); // maxima + fb_free(); // errs + return 0; + } // select only the best maxima if we have too many int max_nmaxima = td->qtp.max_nmaxima;