Blame SOURCES/cscope-4-Avoid-double-free-via-double-fclose-in-changestring.patch

37d6e3
From f632c3fd86fce2c495a290dd70f5f09e3e7e7a28 Mon Sep 17 00:00:00 2001
37d6e3
From: Hans-Bernhard Broeker <HBBroeker@T-Online.de>
37d6e3
Date: Sat, 13 Apr 2019 14:52:35 +0200
37d6e3
Subject: [PATCH 5/9] Avoid double-free via double fclose in changestring.
37d6e3
37d6e3
Mark closed FILE* by setting it to NULL, and check for that.
37d6e3
37d6e3
Signed-off-by: Vladis Dronov <vdronov@redhat.com>
37d6e3
---
37d6e3
 src/command.c | 5 ++++-
37d6e3
 1 file changed, 4 insertions(+), 1 deletion(-)
37d6e3
37d6e3
diff --git a/src/command.c b/src/command.c
37d6e3
index 8740b11..dcb5278 100644
37d6e3
--- a/src/command.c
37d6e3
+++ b/src/command.c
37d6e3
@@ -786,6 +786,7 @@ changestring(void)
37d6e3
     }
37d6e3
     fprintf(script, "w\nq\n!\n");	/* write and quit */
37d6e3
     fclose(script);
37d6e3
+    script = NULL;
37d6e3
 
37d6e3
     /* if any line was marked */
37d6e3
     if (anymarked == YES) {
37d6e3
@@ -803,7 +804,9 @@ changestring(void)
37d6e3
     }
37d6e3
     changing = NO;
37d6e3
     mousemenu();
37d6e3
-    fclose(script);
37d6e3
+    if (script != NULL) {
37d6e3
+	fclose(script);
37d6e3
+    }
37d6e3
     free(change);
37d6e3
     return(anymarked);
37d6e3
 }
37d6e3
-- 
37d6e3
2.26.2
37d6e3