b9a53a
From 1d8e642b0b67f07b0bf469c25126b878380bae6a Mon Sep 17 00:00:00 2001
4b8c80
From: Lennart Poettering <lennart@poettering.net>
4b8c80
Date: Thu, 17 Jan 2019 18:13:03 +0100
4b8c80
Subject: [PATCH] sd-bus: make rqueue/wqueue sizes of type size_t
4b8c80
4b8c80
Let's do this like we usually do and size arrays with size_t.
4b8c80
4b8c80
We already do this for the "allocated" counter correctly, and externally
4b8c80
we expose the queue sizes as uint64_t anyway, hence there's really no
4b8c80
point in usigned "unsigned" internally.
4b8c80
4b8c80
(cherry picked from commit 143d4e045a798ccc87889b2a8a60d7fbe44be441)
4b8c80
Related: CVE-2020-1712
4b8c80
---
4b8c80
 src/libsystemd/sd-bus/bus-internal.h | 4 ++--
4b8c80
 src/libsystemd/sd-bus/sd-bus.c       | 2 +-
4b8c80
 2 files changed, 3 insertions(+), 3 deletions(-)
4b8c80
4b8c80
diff --git a/src/libsystemd/sd-bus/bus-internal.h b/src/libsystemd/sd-bus/bus-internal.h
b9a53a
index 5d773b14c4..06bd7862cb 100644
4b8c80
--- a/src/libsystemd/sd-bus/bus-internal.h
4b8c80
+++ b/src/libsystemd/sd-bus/bus-internal.h
4b8c80
@@ -221,11 +221,11 @@ struct sd_bus {
4b8c80
         size_t rbuffer_size;
4b8c80
 
4b8c80
         sd_bus_message **rqueue;
4b8c80
-        unsigned rqueue_size;
4b8c80
+        size_t rqueue_size;
4b8c80
         size_t rqueue_allocated;
4b8c80
 
4b8c80
         sd_bus_message **wqueue;
4b8c80
-        unsigned wqueue_size;
4b8c80
+        size_t wqueue_size;
4b8c80
         size_t windex;
4b8c80
         size_t wqueue_allocated;
4b8c80
 
4b8c80
diff --git a/src/libsystemd/sd-bus/sd-bus.c b/src/libsystemd/sd-bus/sd-bus.c
4b8c80
index 1c9e967ae0..64026f7ee1 100644
4b8c80
--- a/src/libsystemd/sd-bus/sd-bus.c
4b8c80
+++ b/src/libsystemd/sd-bus/sd-bus.c
4b8c80
@@ -2080,7 +2080,7 @@ _public_ int sd_bus_call(
4b8c80
         _cleanup_(sd_bus_message_unrefp) sd_bus_message *m = sd_bus_message_ref(_m);
4b8c80
         usec_t timeout;
4b8c80
         uint64_t cookie;
4b8c80
-        unsigned i;
4b8c80
+        size_t i;
4b8c80
         int r;
4b8c80
 
4b8c80
         bus_assert_return(m, -EINVAL, error);