Blame SOURCES/0003-main-better-cleanup-when-XOpenDisplay-or-XFixesQuery.patch
|
|
e22b63 |
From d85f863389cf5e36623aad0eb79818e888e15e66 Mon Sep 17 00:00:00 2001
|
|
|
e22b63 |
From: Uri Lublin <uril@redhat.com>
|
|
|
e22b63 |
Date: Tue, 31 Jul 2018 17:15:09 +0300
|
|
|
e22b63 |
Subject: [PATCH 3/4] main: better cleanup when XOpenDisplay or XFixesQuery
|
|
|
e22b63 |
fail
|
|
|
e22b63 |
|
|
|
e22b63 |
close f_log if needed.
|
|
|
e22b63 |
close X display if needed.
|
|
|
e22b63 |
---
|
|
|
e22b63 |
src/spice-streaming-agent.cpp | 7 +++++++
|
|
|
e22b63 |
1 file changed, 7 insertions(+)
|
|
|
e22b63 |
|
|
|
e22b63 |
diff --git a/src/spice-streaming-agent.cpp b/src/spice-streaming-agent.cpp
|
|
|
e22b63 |
index 9ebbf5d..f342ebf 100644
|
|
|
e22b63 |
--- a/src/spice-streaming-agent.cpp
|
|
|
e22b63 |
+++ b/src/spice-streaming-agent.cpp
|
|
|
e22b63 |
@@ -517,11 +517,18 @@ int main(int argc, char* argv[])
|
|
|
e22b63 |
|
|
|
e22b63 |
Display *display = XOpenDisplay(NULL);
|
|
|
e22b63 |
if (display == NULL) {
|
|
|
e22b63 |
+ if (f_log) {
|
|
|
e22b63 |
+ fclose(f_log);
|
|
|
e22b63 |
+ }
|
|
|
e22b63 |
syslog(LOG_ERR, "failed to open display\n");
|
|
|
e22b63 |
return EXIT_FAILURE;
|
|
|
e22b63 |
}
|
|
|
e22b63 |
int event_base, error_base;
|
|
|
e22b63 |
if (!XFixesQueryExtension(display, &event_base, &error_base)) {
|
|
|
e22b63 |
+ if (f_log) {
|
|
|
e22b63 |
+ fclose(f_log);
|
|
|
e22b63 |
+ }
|
|
|
e22b63 |
+ XCloseDisplay(display);
|
|
|
e22b63 |
syslog(LOG_ERR, "XFixesQueryExtension failed\n");
|
|
|
e22b63 |
return EXIT_FAILURE;
|
|
|
e22b63 |
}
|
|
|
e22b63 |
--
|
|
|
e22b63 |
2.17.1
|
|
|
e22b63 |
|