9a64485bf9
- Add patch to fix FD leak (boo#1092329): * 0001-Fix-leaking-of-FDs-created-by-pipe.patch OBS-URL: https://build.opensuse.org/request/show/605327 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/qalculate?expand=0&rev=19
35 lines
939 B
Diff
35 lines
939 B
Diff
From 34d7203c5b5c45d2140d01cd7131e51c3f9ef570 Mon Sep 17 00:00:00 2001
|
|
From: Fabian Vogt <fvogt@suse.com>
|
|
Date: Tue, 8 May 2018 14:11:47 +0200
|
|
Subject: [PATCH] Fix leaking of FDs created by pipe
|
|
|
|
Use pipe2 to pass O_CLOEXEC.
|
|
---
|
|
libqalculate/util.cc | 3 ++-
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/libqalculate/util.cc b/libqalculate/util.cc
|
|
index a1d29b7..8ee8bcf 100644
|
|
--- a/libqalculate/util.cc
|
|
+++ b/libqalculate/util.cc
|
|
@@ -38,6 +38,7 @@
|
|
# include <initguid.h>
|
|
# include <shlobj.h>
|
|
#else
|
|
+# include <fcntl.h>
|
|
# include <utime.h>
|
|
# include <unistd.h>
|
|
# include <pwd.h>
|
|
@@ -834,7 +835,7 @@ bool Thread::cancel() {
|
|
Thread::Thread() : running(false), m_pipe_r(NULL), m_pipe_w(NULL) {
|
|
pthread_attr_init(&m_thread_attr);
|
|
int pipe_wr[] = {0, 0};
|
|
- if(pipe(pipe_wr) == 0) {
|
|
+ if(pipe2(pipe_wr, O_CLOEXEC) == 0) {
|
|
m_pipe_r = fdopen(pipe_wr[0], "r");
|
|
m_pipe_w = fdopen(pipe_wr[1], "w");
|
|
}
|
|
--
|
|
2.16.2
|
|
|