Zbigniew Jędrzejewski-Szmek 3a5d9b
From 2e9b525caa9e3126e54f0d9506d0c36d7d533997 Mon Sep 17 00:00:00 2001
Zbigniew Jędrzejewski-Szmek 20fa84
From: Jorge Niedbalski <jorge.niedbalski@canonical.com>
Zbigniew Jędrzejewski-Szmek 20fa84
Date: Wed, 28 Sep 2016 18:25:50 -0300
Zbigniew Jędrzejewski-Szmek 20fa84
Subject: [PATCH] If the notification message length is 0, ignore the message
Zbigniew Jędrzejewski-Szmek 20fa84
 (#4237)
Zbigniew Jędrzejewski-Szmek 20fa84
Zbigniew Jędrzejewski-Szmek 20fa84
Fixes #4234.
Zbigniew Jędrzejewski-Szmek 20fa84
Zbigniew Jędrzejewski-Szmek 20fa84
Signed-off-by: Jorge Niedbalski <jnr@metaklass.org>
Zbigniew Jędrzejewski-Szmek 3a5d9b
(cherry picked from commit 531ac2b2349da02acc9c382849758e07eb92b020)
Zbigniew Jędrzejewski-Szmek 20fa84
---
Zbigniew Jędrzejewski-Szmek 20fa84
 src/core/manager.c | 4 ++++
Zbigniew Jędrzejewski-Szmek 20fa84
 1 file changed, 4 insertions(+)
Zbigniew Jędrzejewski-Szmek 20fa84
Zbigniew Jędrzejewski-Szmek 20fa84
diff --git a/src/core/manager.c b/src/core/manager.c
Zbigniew Jędrzejewski-Szmek 20fa84
index 4d84a0b37e..a085ed899a 100644
Zbigniew Jędrzejewski-Szmek 20fa84
--- a/src/core/manager.c
Zbigniew Jędrzejewski-Szmek 20fa84
+++ b/src/core/manager.c
Zbigniew Jędrzejewski-Szmek 20fa84
@@ -1648,6 +1648,10 @@ static int manager_dispatch_notify_fd(sd_event_source *source, int fd, uint32_t
Zbigniew Jędrzejewski-Szmek 20fa84
 
Zbigniew Jędrzejewski-Szmek 20fa84
                 return -errno;
Zbigniew Jędrzejewski-Szmek 20fa84
         }
Zbigniew Jędrzejewski-Szmek 20fa84
+        if (n == 0) {
Zbigniew Jędrzejewski-Szmek 20fa84
+                log_debug("Got zero-length notification message. Ignoring.");
Zbigniew Jędrzejewski-Szmek 20fa84
+                return 0;
Zbigniew Jędrzejewski-Szmek 20fa84
+        }
Zbigniew Jędrzejewski-Szmek 20fa84
 
Zbigniew Jędrzejewski-Szmek 20fa84
         CMSG_FOREACH(cmsg, &msghdr) {
Zbigniew Jędrzejewski-Szmek 20fa84
                 if (cmsg->cmsg_level == SOL_SOCKET && cmsg->cmsg_type == SCM_RIGHTS) {