| From 03477085f9a33789ba6cca7cd49ab9326a1baa0e Mon Sep 17 00:00:00 2001 |
| From: Darren Kenny <darren.kenny@oracle.com> |
| Date: Tue, 24 Nov 2020 18:04:22 +0000 |
| Subject: [PATCH] gnulib/regcomp: Fix uninitialized re_token |
| |
| This issue has been fixed in the latest version of gnulib, so to |
| maintain consistency, I've backported that change rather than doing |
| something different. |
| |
| Fixes: CID 73828 |
| |
| Signed-off-by: Darren Kenny <darren.kenny@oracle.com> |
| Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com> |
| [Add changes to generated files] |
| Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com> |
| --- |
| Makefile.in | 1 + |
| conf/Makefile.extra-dist | 1 + |
| .../lib/gnulib-patches/fix-regcomp-uninit-token.patch | 15 +++++++++++++++ |
| grub-core/lib/gnulib/regcomp.c | 6 +----- |
| 4 files changed, 18 insertions(+), 5 deletions(-) |
| create mode 100644 grub-core/lib/gnulib-patches/fix-regcomp-uninit-token.patch |
| |
| diff --git a/Makefile.in b/Makefile.in |
| index d9da6e9..9442504 100644 |
| --- a/Makefile.in |
| +++ b/Makefile.in |
| @@ -2743,6 +2743,7 @@ EXTRA_DIST = autogen.sh geninit.sh gentpl.py Makefile.util.def \ |
| grub-core/genemuinit.sh grub-core/genemuinitheader.sh \ |
| grub-core/lib/gnulib-patches/fix-null-deref.patch \ |
| grub-core/lib/gnulib-patches/fix-null-state-deref.patch \ |
| + grub-core/lib/gnulib-patches/fix-regcomp-uninit-token.patch \ |
| grub-core/lib/gnulib-patches/fix-regexec-null-deref.patch \ |
| grub-core/lib/gnulib-patches/fix-uninit-structure.patch \ |
| grub-core/lib/gnulib-patches/fix-unused-value.patch \ |
| diff --git a/conf/Makefile.extra-dist b/conf/Makefile.extra-dist |
| index d27d3a9..ffe6829 100644 |
| --- a/conf/Makefile.extra-dist |
| +++ b/conf/Makefile.extra-dist |
| @@ -30,6 +30,7 @@ EXTRA_DIST += grub-core/genemuinitheader.sh |
| |
| EXTRA_DIST += grub-core/lib/gnulib-patches/fix-null-deref.patch |
| EXTRA_DIST += grub-core/lib/gnulib-patches/fix-null-state-deref.patch |
| +EXTRA_DIST += grub-core/lib/gnulib-patches/fix-regcomp-uninit-token.patch |
| EXTRA_DIST += grub-core/lib/gnulib-patches/fix-regexec-null-deref.patch |
| EXTRA_DIST += grub-core/lib/gnulib-patches/fix-uninit-structure.patch |
| EXTRA_DIST += grub-core/lib/gnulib-patches/fix-unused-value.patch |
| diff --git a/grub-core/lib/gnulib-patches/fix-regcomp-uninit-token.patch b/grub-core/lib/gnulib-patches/fix-regcomp-uninit-token.patch |
| new file mode 100644 |
| index 0000000..02e0631 |
| --- /dev/null |
| +++ b/grub-core/lib/gnulib-patches/fix-regcomp-uninit-token.patch |
| @@ -0,0 +1,15 @@ |
| +--- a/lib/regcomp.c 2020-11-24 17:06:08.159223858 +0000 |
| ++++ b/lib/regcomp.c 2020-11-24 17:06:15.630253923 +0000 |
| +@@ -3808,11 +3808,7 @@ |
| + create_tree (re_dfa_t *dfa, bin_tree_t *left, bin_tree_t *right, |
| + re_token_type_t type) |
| + { |
| +- re_token_t t; |
| +-#if defined GCC_LINT || defined lint |
| +- memset (&t, 0, sizeof t); |
| +-#endif |
| +- t.type = type; |
| ++ re_token_t t = { .type = type }; |
| + return create_token_tree (dfa, left, right, &t); |
| + } |
| + |
| diff --git a/grub-core/lib/gnulib/regcomp.c b/grub-core/lib/gnulib/regcomp.c |
| index 2545d3e..64a4fa7 100644 |
| --- a/grub-core/lib/gnulib/regcomp.c |
| +++ b/grub-core/lib/gnulib/regcomp.c |
| @@ -3808,11 +3808,7 @@ static bin_tree_t * |
| create_tree (re_dfa_t *dfa, bin_tree_t *left, bin_tree_t *right, |
| re_token_type_t type) |
| { |
| - re_token_t t; |
| -#if defined GCC_LINT || defined lint |
| - memset (&t, 0, sizeof t); |
| -#endif |
| - t.type = type; |
| + re_token_t t = { .type = type }; |
| return create_token_tree (dfa, left, right, &t); |
| } |
| |
| -- |
| 2.14.2 |
| |