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