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;