libtiff: Fix memory leak in tiffcrop.c

From 881a070194783561fd209b7c789a4e75566f7f37 Mon Sep 17 00:00:00 2001
From: zhailiangliang <[EMAIL REDACTED]>
Date: Tue, 7 Mar 2023 15:02:08 +0800
Subject: [PATCH] Fix memory leak in tiffcrop.c

---
 tools/tiffcrop.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/tools/tiffcrop.c b/tools/tiffcrop.c
index d3e11ba2..24d0ca84 100644
--- a/tools/tiffcrop.c
+++ b/tools/tiffcrop.c
@@ -8782,8 +8782,13 @@ static int createCroppedImage(struct image_data *image, struct crop_mask *crop,
 
     read_buff = *read_buff_ptr;
 
+    /* Memory is freed before crop_buff_ptr is overwritten */
+    if (*crop_buff_ptr != NULL)
+    {
+	_TIFFfree(*crop_buff_ptr);
+    }
+
     /* process full image, no crop buffer needed */
-    crop_buff = read_buff;
     *crop_buff_ptr = read_buff;
     crop->combined_width = image->width;
     crop->combined_length = image->length;