From 4f1435dd51f832fa3b122e5e98be2a5ab176780c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20G=C3=B6ttsche?= Date: Tue, 28 Nov 2023 19:23:29 +0100 Subject: [PATCH] libsepol: use correct type to avoid truncations MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Avoid truncations of the read 32 bit unsigned integer: conditional.c:764:8: runtime error: implicit conversion from type 'uint32_t' (aka 'unsigned int') of value 3758096384 (32-bit, unsigned) to type 'int' changed the value to -536870912 (32-bit, signed) conditional.c:831:8: runtime error: implicit conversion from type 'uint32_t' (aka 'unsigned int') of value 4280295456 (32-bit, unsigned) to type 'int' changed the value to -14671840 (32-bit, signed) Signed-off-by: Christian Göttsche Acked-by: James Carter --- libsepol/src/conditional.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libsepol/src/conditional.c b/libsepol/src/conditional.c index 24380ea0..420c7b6c 100644 --- a/libsepol/src/conditional.c +++ b/libsepol/src/conditional.c @@ -746,8 +746,8 @@ static int expr_isvalid(policydb_t * p, cond_expr_t * expr) static int cond_read_node(policydb_t * p, cond_node_t * node, void *fp) { - uint32_t buf[2]; - int len, i, rc; + uint32_t buf[2], i, len; + int rc; cond_expr_t *expr = NULL, *last = NULL; rc = next_entry(buf, fp, sizeof(uint32_t)); @@ -821,8 +821,8 @@ static int cond_read_node(policydb_t * p, cond_node_t * node, void *fp) int cond_read_list(policydb_t * p, cond_list_t ** list, void *fp) { cond_node_t *node, *last = NULL; - uint32_t buf[1]; - int i, len, rc; + uint32_t buf[1], i, len; + int rc; rc = next_entry(buf, fp, sizeof(uint32_t)); if (rc < 0)