Zbigniew Jędrzejewski-Szmek f1004d
From b1543c4c93855b61b40118e9f14a0423dac2e078 Mon Sep 17 00:00:00 2001
Zbigniew Jędrzejewski-Szmek f1004d
From: Daniel Mack <daniel@zonque.org>
Zbigniew Jędrzejewski-Szmek f1004d
Date: Thu, 9 Oct 2014 11:26:09 +0200
Zbigniew Jędrzejewski-Szmek f1004d
Subject: [PATCH] sd-bus: check return value of asprintf()
Zbigniew Jędrzejewski-Szmek f1004d
Zbigniew Jędrzejewski-Szmek f1004d
Check for OOM conditions of asprintf() in bus_set_address_user().
Zbigniew Jędrzejewski-Szmek f1004d
---
Zbigniew Jędrzejewski-Szmek f1004d
 src/libsystemd/sd-bus/sd-bus.c | 6 +++++-
Zbigniew Jędrzejewski-Szmek f1004d
 1 file changed, 5 insertions(+), 1 deletion(-)
Zbigniew Jędrzejewski-Szmek f1004d
Zbigniew Jędrzejewski-Szmek f1004d
diff --git a/src/libsystemd/sd-bus/sd-bus.c b/src/libsystemd/sd-bus/sd-bus.c
Zbigniew Jędrzejewski-Szmek f1004d
index bc4376fb51..549f9e0943 100644
Zbigniew Jędrzejewski-Szmek f1004d
--- a/src/libsystemd/sd-bus/sd-bus.c
Zbigniew Jędrzejewski-Szmek f1004d
+++ b/src/libsystemd/sd-bus/sd-bus.c
Zbigniew Jędrzejewski-Szmek f1004d
@@ -1163,7 +1163,11 @@ int bus_set_address_user(sd_bus *b) {
Zbigniew Jędrzejewski-Szmek f1004d
 #endif
Zbigniew Jędrzejewski-Szmek f1004d
         } else {
Zbigniew Jędrzejewski-Szmek f1004d
 #ifdef ENABLE_KDBUS
Zbigniew Jędrzejewski-Szmek f1004d
-                asprintf(&b->address, KERNEL_USER_BUS_FMT, getuid());
Zbigniew Jędrzejewski-Szmek f1004d
+                int r;
Zbigniew Jędrzejewski-Szmek f1004d
+
Zbigniew Jędrzejewski-Szmek f1004d
+                r = asprintf(&b->address, KERNEL_USER_BUS_FMT, getuid());
Zbigniew Jędrzejewski-Szmek f1004d
+                if (r < 0)
Zbigniew Jędrzejewski-Szmek f1004d
+                        return -ENOMEM;
Zbigniew Jędrzejewski-Szmek f1004d
 #else
Zbigniew Jędrzejewski-Szmek f1004d
                 return -ECONNREFUSED;
Zbigniew Jędrzejewski-Szmek f1004d
 #endif