File gnuplot-4.4.0-x11ovf.dif of Package gnuplot.20181

---
 src/gplt_x11.c |   12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

--- src/gplt_x11.c
+++ src/gplt_x11.c	2017-09-27 10:05:59.165076157 +0000
@@ -960,6 +960,8 @@ mainloop()
     nfds = cn + 1;
 
     while (1) {
+	int ipc;
+
 	XFlush(dpy);		/* see above */
 
 	FD_ZERO(&tset);
@@ -997,7 +999,11 @@ mainloop()
 		process_event(&xe);
 	    }
 	}
-	if ((X11_ipc = fopen(X11_ipcpath, "r"))) {
+
+	if ((ipc = open(X11_ipcpath, O_RDONLY|O_CREAT|O_CLOEXEC|O_EXCL)) < 0)
+	    break;
+
+	if ((X11_ipc = dfopen(ipc, "r"))) {
 	    unlink(X11_ipcpath);
 	    record();
 	    fclose(X11_ipc);
@@ -1229,8 +1235,8 @@ static int read_input __PROTO((void));
 static int
 read_input()
 {
-    static int rdbuf_size = 10 * X11_COMMAND_BUFFER_LENGTH;
-    static char rdbuf[10 * X11_COMMAND_BUFFER_LENGTH];
+    const int rdbuf_size = 10 * X11_COMMAND_BUFFER_LENGTH;
+    static char rdbuf[(10 * X11_COMMAND_BUFFER_LENGTH)+1];
     static int total_chars;
     static int rdbuf_offset;
     static int buf_offset;
openSUSE Build Service is sponsored by