File 0008-spa-use-strtoull-for-atou32.patch of Package pipewire.30045

From 3fcb9c44efe4a2edd3c3f0e1071dbefd58e3ba8a Mon Sep 17 00:00:00 2001
From: Wim Taymans <wtaymans@redhat.com>
Date: Thu, 3 Jun 2021 11:40:27 +0200
Subject: [PATCH] spa: use strtoull for atou32

On machines with a 32 bits long, converting a negative value will
still result in  v == (uint32_t)v and the unit test will fail.
Extend to 64 bits and strtoull to reject negative values in atou32.
---
 spa/include/spa/utils/string.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/spa/include/spa/utils/string.h b/spa/include/spa/utils/string.h
index 22afb66294..728ba9f2ee 100644
--- a/spa/include/spa/utils/string.h
+++ b/spa/include/spa/utils/string.h
@@ -100,13 +100,13 @@ static inline bool spa_atoi32(const char *str, int32_t *val, int base)
 static inline bool spa_atou32(const char *str, uint32_t *val, int base)
 {
 	char *endptr;
-	unsigned long v;
+	unsigned long long v;
 
 	if (!str || *str =='\0')
 		return false;
 
 	errno = 0;
-	v = strtoul(str, &endptr, base);
+	v = strtoull(str, &endptr, base);
 	if (errno != 0 || *endptr != '\0')
 		return false;
 
-- 
GitLab

openSUSE Build Service is sponsored by