mirror of
https://git.proxmox.com/git/grub2
synced 2025-08-08 15:31:30 +00:00
gnulib/regexec: Fix possible null-dereference
It appears to be possible that the mctx->state_log field may be NULL, and the name of this function, clean_state_log_if_needed(), suggests that it should be checking that it is valid to be cleaned before assuming that it does. Fixes: CID 86720 Signed-off-by: Darren Kenny <darren.kenny@oracle.com> Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
This commit is contained in:
parent
3a37bf120a
commit
0b7f347638
@ -79,7 +79,8 @@ cp -a INSTALL INSTALL.grub
|
|||||||
|
|
||||||
bootstrap_post_import_hook () {
|
bootstrap_post_import_hook () {
|
||||||
set -e
|
set -e
|
||||||
for patchname in fix-base64 fix-null-deref fix-null-state-deref fix-uninit-structure fix-unused-value fix-width no-abort; do
|
for patchname in fix-base64 fix-null-deref fix-null-state-deref fix-regexec-null-deref \
|
||||||
|
fix-uninit-structure fix-unused-value fix-width no-abort; do
|
||||||
patch -d grub-core/lib/gnulib -p2 \
|
patch -d grub-core/lib/gnulib -p2 \
|
||||||
< "grub-core/lib/gnulib-patches/$patchname.patch"
|
< "grub-core/lib/gnulib-patches/$patchname.patch"
|
||||||
done
|
done
|
||||||
|
@ -31,6 +31,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-base64.patch
|
||||||
EXTRA_DIST += grub-core/lib/gnulib-patches/fix-null-deref.patch
|
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-null-state-deref.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-uninit-structure.patch
|
||||||
EXTRA_DIST += grub-core/lib/gnulib-patches/fix-unused-value.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/fix-width.patch
|
||||||
|
12
grub-core/lib/gnulib-patches/fix-regexec-null-deref.patch
Normal file
12
grub-core/lib/gnulib-patches/fix-regexec-null-deref.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
--- a/lib/regexec.c 2020-10-21 14:25:35.310195912 +0000
|
||||||
|
+++ b/lib/regexec.c 2020-11-05 10:55:09.621542984 +0000
|
||||||
|
@@ -1692,6 +1692,9 @@
|
||||||
|
{
|
||||||
|
Idx top = mctx->state_log_top;
|
||||||
|
|
||||||
|
+ if (mctx->state_log == NULL)
|
||||||
|
+ return REG_NOERROR;
|
||||||
|
+
|
||||||
|
if ((next_state_log_idx >= mctx->input.bufs_len
|
||||||
|
&& mctx->input.bufs_len < mctx->input.len)
|
||||||
|
|| (next_state_log_idx >= mctx->input.valid_len
|
Loading…
Reference in New Issue
Block a user