Blame SOURCES/0008-vdagentd-Better-check-for-vdagent_connection_get_pee.patch

93d60d
From 64289e71a1b2a9dc6868eb810cf93ca8c0644693 Mon Sep 17 00:00:00 2001
93d60d
From: Frediano Ziglio <freddy77@gmail.com>
93d60d
Date: Mon, 21 Sep 2020 16:42:26 +0100
93d60d
Subject: [PATCH vd_agent_linux 08/17] vdagentd: Better check for
93d60d
 vdagent_connection_get_peer_pid results
93d60d
MIME-Version: 1.0
93d60d
Content-Type: text/plain; charset=UTF-8
93d60d
Content-Transfer-Encoding: 8bit
93d60d
93d60d
The function can return -1 and leave "err" to NULL in some cases,
93d60d
do not check only for "err".
93d60d
93d60d
Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
93d60d
Acked-by: Julien Ropé <jrope@redhat.com>
93d60d
---
93d60d
 src/vdagentd/vdagentd.c | 12 ++++++++----
93d60d
 1 file changed, 8 insertions(+), 4 deletions(-)
93d60d
93d60d
diff --git a/src/vdagentd/vdagentd.c b/src/vdagentd/vdagentd.c
93d60d
index 94b8681..12cbbd0 100644
93d60d
--- a/src/vdagentd/vdagentd.c
93d60d
+++ b/src/vdagentd/vdagentd.c
93d60d
@@ -933,10 +933,14 @@ static void agent_connect(UdscsConnection *conn)
93d60d
 
93d60d
     if (session_info) {
93d60d
         pid = vdagent_connection_get_peer_pid(VDAGENT_CONNECTION(conn), &err;;
93d60d
-        if (err) {
93d60d
-            syslog(LOG_ERR, "Could not get peer PID, disconnecting new client: %s",
93d60d
-                            err->message);
93d60d
-            g_error_free(err);
93d60d
+        if (err || pid <= 0) {
93d60d
+            static const char msg[] = "Could not get peer PID, disconnecting new client";
93d60d
+            if (err) {
93d60d
+                syslog(LOG_ERR, "%s: %s", msg, err->message);
93d60d
+                g_error_free(err);
93d60d
+            } else {
93d60d
+                syslog(LOG_ERR, "%s", msg);
93d60d
+            }
93d60d
             agent_data_destroy(agent_data);
93d60d
             udscs_server_destroy_connection(server, conn);
93d60d
             return;
93d60d
-- 
93d60d
2.26.2
93d60d