From eaa4aa964c5e27fd4d91cef00ef6ac2e12d8a836 Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Wed, 12 Dec 2018 17:14:21 +0100 Subject: [PATCH] mindtct: Fix memory leaks in get_centered_contour() The first contour wasn't freed if we failed on the second contour. libfprint/nbis/mindtct/contour.c:521:14: warning: Potential leak of memory pointed to by 'half1_ex' return(ret); ^~~ libfprint/nbis/mindtct/contour.c:521:14: warning: Potential leak of memory pointed to by 'half1_ey' return(ret); ^~~ libfprint/nbis/mindtct/contour.c:521:14: warning: Potential leak of memory pointed to by 'half1_x' return(ret); ^~~ libfprint/nbis/mindtct/contour.c:521:14: warning: Potential leak of memory pointed to by 'half1_y' return(ret); ^~~ --- libfprint/nbis/mindtct/contour.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libfprint/nbis/mindtct/contour.c b/libfprint/nbis/mindtct/contour.c index 689ffaf..3361047 100644 --- a/libfprint/nbis/mindtct/contour.c +++ b/libfprint/nbis/mindtct/contour.c @@ -517,6 +517,8 @@ int get_centered_contour(int **ocontour_x, int **ocontour_y, /* If system error occurred on 2nd trace ... */ if(ret < 0){ + /* Deallocate loop's contour. */ + free_contour(half1_x, half1_y, half1_ex, half1_ey); /* Return error code. */ return(ret); }