]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
gnulib/regcomp: Fix uninitialized token structure
authorDarren Kenny <darren.kenny@oracle.com>
Thu, 22 Oct 2020 13:54:06 +0000 (13:54 +0000)
committerDaniel Kiper <daniel.kiper@oracle.com>
Tue, 2 Mar 2021 14:54:16 +0000 (15:54 +0100)
The code is assuming that the value of br_token.constraint was
initialized to zero when it wasn't.

While some compilers will ensure that, not all do, so it is better to
fix this explicitly than leave it to chance.

Fixes: CID 73749
Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
bootstrap.conf
conf/Makefile.extra-dist
grub-core/lib/gnulib-patches/fix-uninit-structure.patch [new file with mode: 0644]

index 4c8c37c16a584219694b1b9fe4561ba0ab244ba0..a7fc34eb31bd56af79b9e87f63e04ff23e9a9ba1 100644 (file)
@@ -79,7 +79,7 @@ cp -a INSTALL INSTALL.grub
 
 bootstrap_post_import_hook () {
   set -e
-  for patchname in fix-base64 fix-null-deref fix-unused-value fix-width no-abort; do
+  for patchname in fix-base64 fix-null-deref fix-uninit-structure fix-unused-value fix-width no-abort; do
     patch -d grub-core/lib/gnulib -p2 \
       < "grub-core/lib/gnulib-patches/$patchname.patch"
   done
index 0d3b74e8ef9f98b74d5bd42cac67edfaf6fe65a5..d83cde427bd136ea5d15356b89a2fbf7c82bd752 100644 (file)
@@ -30,6 +30,7 @@ EXTRA_DIST += grub-core/genemuinitheader.sh
 
 EXTRA_DIST += grub-core/lib/gnulib-patches/fix-base64.patch
 EXTRA_DIST += grub-core/lib/gnulib-patches/fix-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
 EXTRA_DIST += grub-core/lib/gnulib-patches/fix-width.patch
 EXTRA_DIST += grub-core/lib/gnulib-patches/no-abort.patch
diff --git a/grub-core/lib/gnulib-patches/fix-uninit-structure.patch b/grub-core/lib/gnulib-patches/fix-uninit-structure.patch
new file mode 100644 (file)
index 0000000..7b4d9f6
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/lib/regcomp.c    2020-10-22 13:49:06.770168928 +0000
++++ b/lib/regcomp.c    2020-10-22 13:50:37.026528298 +0000
+@@ -3662,7 +3662,7 @@
+   Idx alloc = 0;
+ #endif /* not RE_ENABLE_I18N */
+   reg_errcode_t ret;
+-  re_token_t br_token;
++  re_token_t br_token = {0};
+   bin_tree_t *tree;
+   sbcset = (re_bitset_ptr_t) calloc (sizeof (bitset_t), 1);