summaryrefslogtreecommitdiff
path: root/app-editors/teco/files/teco-double-free.patch
diff options
context:
space:
mode:
Diffstat (limited to 'app-editors/teco/files/teco-double-free.patch')
-rw-r--r--app-editors/teco/files/teco-double-free.patch22
1 files changed, 22 insertions, 0 deletions
diff --git a/app-editors/teco/files/teco-double-free.patch b/app-editors/teco/files/teco-double-free.patch
new file mode 100644
index 000000000000..344aa6dd2dff
--- /dev/null
+++ b/app-editors/teco/files/teco-double-free.patch
@@ -0,0 +1,22 @@
+https://bugs.gentoo.org/103257
+
+--- teco-orig/te_exec2.c
++++ teco/te_exec2.c
+@@ -197,7 +197,7 @@
+ {
+ if (eisw) /* if ending a file execute, restore the previous "old command string" */
+ {
+- fclose(eisw); /* return the file descriptor */
++ fclose(eisw), eisw = NULL; /* return the file descriptor */
+ dly_free_blist(cbuf.f); /* return the command string used by the file (after execution done) */
+ cbuf.f = oldcstring.f;
+ cbuf.z = oldcstring.z;
+@@ -214,7 +214,7 @@
+ oldcstring.z = cbuf.z;
+ cbuf.f = NULL; /* and make it inaccessible to "rdcmd" */
+ }
+- if (eisw) fclose(eisw); /* if a command file had been open, close it */
++ if (eisw) fclose(eisw), eisw = NULL; /* if a command file had been open, close it */
+ esp->val1 = (eisw = t_eisw) ? -1 : 0;
+ esp->flag1 = colonflag;
+ colonflag = 0;