[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 12/19] cutils: Allow NULL str in qemu_strtosz
|
From: |
Eric Blake |
|
Subject: |
[PATCH v2 12/19] cutils: Allow NULL str in qemu_strtosz |
|
Date: |
Thu, 11 May 2023 21:10:26 -0500 |
All the other qemu_strto* and parse_uint allow a NULL str. Having
qemu_strtosz crash on qemu_strtosz(NULL, NULL, &value) is an easy fix
that adds some consistency between our string parsers.
Signed-off-by: Eric Blake <eblake@redhat.com>
---
tests/unit/test-cutils.c | 3 +++
util/cutils.c | 2 +-
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/tests/unit/test-cutils.c b/tests/unit/test-cutils.c
index 5c9ed78be93..1936c7b5795 100644
--- a/tests/unit/test-cutils.c
+++ b/tests/unit/test-cutils.c
@@ -3260,6 +3260,9 @@ static void test_qemu_strtosz_float(void)
static void test_qemu_strtosz_invalid(void)
{
+ do_strtosz(NULL, -EINVAL, 0xbaadf00d, 0);
+
+ /* Must parse at least one digit */
do_strtosz("", -EINVAL, 0xbaadf00d, 0);
do_strtosz(" \t ", -EINVAL, 0xbaadf00d, 0);
do_strtosz("crap", -EINVAL, 0xbaadf00d, 0);
diff --git a/util/cutils.c b/util/cutils.c
index e599924a0c4..91c90673aba 100644
--- a/util/cutils.c
+++ b/util/cutils.c
@@ -306,7 +306,7 @@ static int do_strtosz(const char *nptr, const char **end,
out:
if (end) {
*end = endptr;
- } else if (*endptr) {
+ } else if (nptr && *endptr) {
retval = -EINVAL;
}
if (retval == 0) {
--
2.40.1
- Re: [PATCH v2 09/19] test-cutils: Add coverage of qemu_strtod, (continued)
[PATCH v2 11/19] test-cutils: Refactor qemu_strtosz tests for less boilerplate, Eric Blake, 2023/05/11
[PATCH v2 14/19] test-cutils: Add more coverage to qemu_strtosz11; rgb:1e1e/1e1e/1e1e, Eric Blake, 2023/05/11
[PATCH v2 12/19] cutils: Allow NULL str in qemu_strtosz,
Eric Blake <=
[PATCH v2 16/19] cutils: Set value in all integral qemu_strto* error paths, Eric Blake, 2023/05/11
[PATCH v2 15/19] cutils: Set value in all qemu_strtosz* error paths, Eric Blake, 2023/05/11
[PATCH v2 06/19] cutils: Document differences between parse_uint and qemu_strtou64, Eric Blake, 2023/05/11
[PATCH v2 13/19] numa: Check for qemu_strtosz_MiB error, Eric Blake, 2023/05/11
[PATCH v2 18/19] cutils: Improve qemu_strtod* error paths, Eric Blake, 2023/05/11