diff options
author | David Hildenbrand <david@redhat.com> | 2018-11-21 17:44:15 +0100 |
---|---|---|
committer | Markus Armbruster <armbru@redhat.com> | 2018-12-13 19:10:06 +0100 |
commit | 4b69d4c3d7c133ebc9393ef3f86ce38831921cb6 (patch) | |
tree | 3ea8c1796daf48149454bbe2eb4fab9a19b07284 /tests/test-string-input-visitor.c | |
parent | af02f4c5179675ad4e26b17ba26694a8fcde17fa (diff) |
qapi: Fix string-input-visitor to reject NaN and infinities
The string-input-visitor happily accepts NaN and infinities when parsing
numbers (doubles). They shouldn't. Fix that.
Also, add two test cases, testing if "NaN" and "inf" is properly
rejected.
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20181121164421.20780-4-david@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Diffstat (limited to 'tests/test-string-input-visitor.c')
-rw-r--r-- | tests/test-string-input-visitor.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/tests/test-string-input-visitor.c b/tests/test-string-input-visitor.c index 88e0e1aa9a..1efba06948 100644 --- a/tests/test-string-input-visitor.c +++ b/tests/test-string-input-visitor.c @@ -252,6 +252,19 @@ static void test_visitor_in_number(TestInputVisitorData *data, visit_type_number(v, NULL, &res, &err); g_assert(!err); g_assert_cmpfloat(res, ==, value); + + /* NaN and infinity has to be rejected */ + + v = visitor_input_test_init(data, "NaN"); + + visit_type_number(v, NULL, &res, &err); + error_free_or_abort(&err); + + v = visitor_input_test_init(data, "inf"); + + visit_type_number(v, NULL, &res, &err); + error_free_or_abort(&err); + } static void test_visitor_in_string(TestInputVisitorData *data, |