[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v17 07/20] asn1_test: test module for libtasn1
From: |
Daniel Kiper |
Subject: |
Re: [PATCH v17 07/20] asn1_test: test module for libtasn1 |
Date: |
Mon, 17 Jun 2024 17:55:57 +0200 |
On Fri, Jun 14, 2024 at 02:45:40PM +0800, Gary Lin wrote:
> From: Daniel Axtens <dja@axtens.net>
>
> Import tests from libtasn1 that don't use functionality we don't
> import. This test module is integrated into functional_test so that the
> user can run the test in grub shell.
>
> This doesn't test the full decoder but that will be exercised in
> test suites for coming patch sets.
>
> Add testcase target in accordance with
> 5e10be48e5 tests: Add check-native and check-nonnative make targets
>
> Cc: Vladimir Serbinenko <phcoder@gmail.com>
> Signed-off-by: Daniel Axtens <dja@axtens.net>
> Signed-off-by: Gary Lin <glin@suse.com>
> ---
> Makefile.util.def | 6 +
> grub-core/Makefile.core.def | 14 ++
> .../tests/asn1/CVE-2018-1000654-1_asn1_tab.h | 32 +++
> .../tests/asn1/CVE-2018-1000654-2_asn1_tab.h | 36 +++
> grub-core/tests/asn1/CVE-2018-1000654.c | 58 +++++
> grub-core/tests/asn1/Test_overflow.c | 134 ++++++++++++
> grub-core/tests/asn1/Test_simple.c | 205 ++++++++++++++++++
> grub-core/tests/asn1/Test_strings.c | 142 ++++++++++++
> grub-core/tests/asn1/asn1_test.c | 49 +++++
> grub-core/tests/asn1/asn1_test.h | 44 ++++
> grub-core/tests/asn1/object-id-decoding.c | 109 ++++++++++
> grub-core/tests/asn1/object-id-encoding.c | 114 ++++++++++
> grub-core/tests/asn1/octet-string.c | 199 +++++++++++++++++
> grub-core/tests/asn1/reproducers.c | 80 +++++++
> grub-core/tests/lib/functional_test.c | 1 +
> tests/asn1_test.in | 11 +
If most of these files come from libtasn1 then you should add a list of
commands which allows us recreate them from libtasn1 source. And probably
introduction of original libtasn1 test files should happen in the patch #2.
[...]
> diff --git a/grub-core/tests/asn1/Test_overflow.c
> b/grub-core/tests/asn1/Test_overflow.c
> new file mode 100644
> index 000000000..aff6b410a
> --- /dev/null
> +++ b/grub-core/tests/asn1/Test_overflow.c
> @@ -0,0 +1,134 @@
> +/*
> + * Copyright (C) 2012-2014 Free Software Foundation, Inc.
> + *
> + * This file is part of LIBTASN1.
> + *
> + * This program is free software: you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation, either version 3 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program. If not, see <http://www.gnu.org/licenses/>.
> + *
> + */
> +
> +/* Written by Simon Josefsson */
> +
> +#include "asn1_test.h"
> +
> +int
> +test_overflow(void)
> +{
> + /* Test that values larger than long are rejected. This has worked
> + fine with all versions of libtasn1. */
> +
> + {
> + unsigned char der[] = "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF";
> + long l;
> + int len;
> +
> + l = asn1_get_length_der (der, sizeof der, &len);
> +
> + if (l != -2L)
> + {
> + grub_printf ("ERROR: asn1_get_length_der bignum (l %ld len %d)\n", l,
> len);
> + return 1;
> + }
> + }
> +
> + /* 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)
This change suggests it is a mixture of libtasn1 source and GRUB specific
patches. Please disaggregate them.
Daniel
- Re: [PATCH v17 02/20] libtasn1: import libtasn1-4.19.0, (continued)
- [PATCH v17 05/20] libtasn1: fix the potential buffer overrun, Gary Lin, 2024/06/14
- [PATCH v17 06/20] libtasn1: compile into asn1 module, Gary Lin, 2024/06/14
- [PATCH v17 04/20] libtasn1: changes for grub compatibility, Gary Lin, 2024/06/14
- [PATCH v17 07/20] asn1_test: test module for libtasn1, Gary Lin, 2024/06/14
- Re: [PATCH v17 07/20] asn1_test: test module for libtasn1,
Daniel Kiper <=
- [PATCH v17 08/20] libtasn1: Add the documentation, Gary Lin, 2024/06/14
- [PATCH v17 09/20] key_protector: Add key protectors framework, Gary Lin, 2024/06/14
- [PATCH v17 10/20] tpm2: Add TPM Software Stack (TSS), Gary Lin, 2024/06/14