Blame SOURCES/0007-src-jmt.c-add_lens-fix-memory-leak-w-debugging.patch

ee1b47
From d2822e9faffdffc44ab6d8418c13b63a65e20338 Mon Sep 17 00:00:00 2001
ee1b47
From: Pino Toscano <ptoscano@redhat.com>
ee1b47
Date: Fri, 20 Jul 2018 14:08:50 +0200
ee1b47
Subject: [PATCH] * src/jmt.c (add_lens): fix memory leak w/ debugging
ee1b47
ee1b47
format_lens returns a new string every time, so save its result, and
ee1b47
free it properly after use.
ee1b47
ee1b47
(cherry picked from commit 4310fcc41c6f870da71d07423d6ac64ea6a60998)
ee1b47
---
ee1b47
 src/jmt.c | 10 +++++++---
ee1b47
 1 file changed, 7 insertions(+), 3 deletions(-)
ee1b47
ee1b47
diff --git a/src/jmt.c b/src/jmt.c
ee1b47
index 79953da1..86179eed 100644
ee1b47
--- a/src/jmt.c
ee1b47
+++ b/src/jmt.c
ee1b47
@@ -1109,16 +1109,20 @@ static ind_t add_lens(struct jmt *jmt, struct lens *lens) {
ee1b47
 
ee1b47
     if (debugging("cf.jmt")) {
ee1b47
         if (sA == NULL) {
ee1b47
+            char *s = format_lens(lens);
ee1b47
             printf("add_lens: ");
ee1b47
             print_regexp(stdout, lens->ctype);
ee1b47
-            printf(" %s\n", format_lens(lens));
ee1b47
+            printf(" %s\n", s);
ee1b47
+            free(s);
ee1b47
         } else {
ee1b47
+            char *s = format_lens(lens);
ee1b47
             printf("add_lens: ");
ee1b47
             flens(stdout, l);
ee1b47
-            printf(" %u %s\n", sA->num, format_lens(lens));
ee1b47
+            printf(" %u %s\n", sA->num, s);
ee1b47
             if (nullable) {
ee1b47
-                printf("add_lens: // %s\n", format_lens(lens));
ee1b47
+                printf("add_lens: // %s\n", s);
ee1b47
             }
ee1b47
+            free(s);
ee1b47
         }
ee1b47
     }
ee1b47
 
ee1b47
-- 
ee1b47
2.17.2
ee1b47