asn1_test: Enable the testcase only when GRUB_LONG_MAX is larger than GRUB_INT_MAX
There is a testcase to test the values larger than "int" but smaller
than "long". However, for some architectures, "long" and "int" are the
same and the compiler may issue a warning like this:
grub-core/tests/asn1/tests/Test_overflow.c:48:50: error: left shift of negative value [-Werror=shift-negative-value]
unsigned long num = ((long) GRUB_UINT_MAX) << 2;
^~
To avoid unnecessary error the testcase is enabled only when
GRUB_LONG_MAX is larger than GRUB_INT_MAX.
Signed-off-by: Daniel Axtens <dja@axtens.net>
Signed-off-by: Gary Lin <glin@suse.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
Tested-by: Stefan Berger <stefanb@linux.ibm.com>
This commit is contained in:
parent
66cf4cb144
commit
8a0fedef21
@ -0,0 +1,48 @@
|
||||
From 6d308d9053447dcc003a9ca740c47c00932d3569 Mon Sep 17 00:00:00 2001
|
||||
From: Gary Lin <glin@suse.com>
|
||||
Date: Mon, 7 Oct 2024 11:33:19 +0800
|
||||
Subject: [PATCH 13/13] asn1_test: enable the testcase only when GRUB_LONG_MAX
|
||||
is larger than GRUB_INT_MAX
|
||||
|
||||
There is a testcase to test the values larger than 'int' but smaller
|
||||
than 'long'. However, for some architectures, 'long' and 'int' are the
|
||||
same, and the compiler may issue a warning like this:
|
||||
|
||||
grub-core/tests/asn1/tests/Test_overflow.c:48:50: error: left shift of negative value [-Werror=shift-negative-value]
|
||||
unsigned long num = ((long) GRUB_UINT_MAX) << 2;
|
||||
^~
|
||||
|
||||
To avoid unnecessary error the testcase is enabled only when
|
||||
GRUB_LONG_MAX is larger than GRUB_INT_MAX.
|
||||
|
||||
Signed-off-by: Daniel Axtens <dja@axtens.net>
|
||||
Signed-off-by: Gary Lin <glin@suse.com>
|
||||
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||
---
|
||||
grub-core/tests/asn1/tests/Test_overflow.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/grub-core/tests/asn1/tests/Test_overflow.c b/grub-core/tests/asn1/tests/Test_overflow.c
|
||||
index 65843abf6..fdeff5634 100644
|
||||
--- a/grub-core/tests/asn1/tests/Test_overflow.c
|
||||
+++ b/grub-core/tests/asn1/tests/Test_overflow.c
|
||||
@@ -43,7 +43,7 @@ test_overflow (void)
|
||||
|
||||
/* Test that values larger than int but smaller than long are
|
||||
rejected. This limitation was introduced with libtasn1 2.12. */
|
||||
- if (GRUB_LONG_MAX > GRUB_INT_MAX)
|
||||
+#if (GRUB_LONG_MAX > GRUB_INT_MAX)
|
||||
{
|
||||
unsigned long num = ((long) GRUB_UINT_MAX) << 2;
|
||||
unsigned char der[20];
|
||||
@@ -61,6 +61,7 @@ test_overflow (void)
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
+#endif
|
||||
|
||||
/* Test that values larger than would fit in the input string are
|
||||
rejected. This problem was fixed in libtasn1 2.12. */
|
||||
--
|
||||
2.43.0
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user