5d2ee9
From 19a9c67b79ebb9a65bc2aec8d8f2799262ef0cb2 Mon Sep 17 00:00:00 2001
5d2ee9
From: Lennart Poettering <lennart@poettering.net>
5d2ee9
Date: Thu, 17 Jan 2019 18:15:37 +0100
5d2ee9
Subject: [PATCH] sd-bus: make sure dispatch_rqueue() initializes return
5d2ee9
 parameter on all types of success
5d2ee9
5d2ee9
Let's make sure our own code follows coding style and initializes all
5d2ee9
return values on all types of success (and leaves it uninitialized in
5d2ee9
all types of failure).
5d2ee9
5d2ee9
(cherry picked from commit c0bc4ec5cc17ac61773d1e9362b0ffa8382c1ff1)
5d2ee9
Related: CVE-2020-1712
5d2ee9
---
5d2ee9
 src/libsystemd/sd-bus/sd-bus.c | 4 +++-
5d2ee9
 1 file changed, 3 insertions(+), 1 deletion(-)
5d2ee9
5d2ee9
diff --git a/src/libsystemd/sd-bus/sd-bus.c b/src/libsystemd/sd-bus/sd-bus.c
5d2ee9
index 64026f7ee1..55b008cc9f 100644
5d2ee9
--- a/src/libsystemd/sd-bus/sd-bus.c
5d2ee9
+++ b/src/libsystemd/sd-bus/sd-bus.c
5d2ee9
@@ -1814,8 +1814,10 @@ static int dispatch_rqueue(sd_bus *bus, bool hint_priority, int64_t priority, sd
5d2ee9
                 r = bus_read_message(bus, hint_priority, priority);
5d2ee9
                 if (r < 0)
5d2ee9
                         return r;
5d2ee9
-                if (r == 0)
5d2ee9
+                if (r == 0) {
5d2ee9
+                        *m = NULL;
5d2ee9
                         return ret;
5d2ee9
+                }
5d2ee9
 
5d2ee9
                 ret = 1;
5d2ee9
         }