Blame SOURCES/0233-sd-bus-initialize-mutex-after-we-allocated-the-wqueu.patch

a3e2b5
From fb04f17617458d2d3d09e0bef29f1255d4d3500c Mon Sep 17 00:00:00 2001
a3e2b5
From: Lennart Poettering <lennart@poettering.net>
a3e2b5
Date: Thu, 17 Jan 2019 21:06:30 +0100
a3e2b5
Subject: [PATCH] sd-bus: initialize mutex after we allocated the wqueue
a3e2b5
a3e2b5
That way the mutex doesn't have to be destroyed when we exit early due
a3e2b5
to OOM.
a3e2b5
a3e2b5
(cherry picked from commit 2fe9a10d7695c4c3a748969a0d1662c624e50e5e)
a3e2b5
Related: CVE-2020-1712
a3e2b5
---
a3e2b5
 src/libsystemd/sd-bus/sd-bus.c | 4 ++--
a3e2b5
 1 file changed, 2 insertions(+), 2 deletions(-)
a3e2b5
a3e2b5
diff --git a/src/libsystemd/sd-bus/sd-bus.c b/src/libsystemd/sd-bus/sd-bus.c
a3e2b5
index 01060d105c..e49d58137d 100644
a3e2b5
--- a/src/libsystemd/sd-bus/sd-bus.c
a3e2b5
+++ b/src/libsystemd/sd-bus/sd-bus.c
a3e2b5
@@ -248,12 +248,12 @@ _public_ int sd_bus_new(sd_bus **ret) {
a3e2b5
         b->original_pid = getpid_cached();
a3e2b5
         b->n_groups = (size_t) -1;
a3e2b5
 
a3e2b5
-        assert_se(pthread_mutex_init(&b->memfd_cache_mutex, NULL) == 0);
a3e2b5
-
a3e2b5
         /* We guarantee that wqueue always has space for at least one entry */
a3e2b5
         if (!GREEDY_REALLOC(b->wqueue, b->wqueue_allocated, 1))
a3e2b5
                 return -ENOMEM;
a3e2b5
 
a3e2b5
+        assert_se(pthread_mutex_init(&b->memfd_cache_mutex, NULL) == 0);
a3e2b5
+
a3e2b5
         *ret = TAKE_PTR(b);
a3e2b5
         return 0;
a3e2b5
 }