mirror of
https://git.savannah.gnu.org/git/grub.git
synced 2026-10-20 22:48:22 +00:00
gnulib/argp-help: Fix dereference of a possibly NULL state
All other instances of call to __argp_failure() where there is a dgettext() call is first checking whether state is NULL before attempting to dereference it to get the root_argp->argp_domain. Fixes: CID 292436 Signed-off-by: Darren Kenny <darren.kenny@oracle.com> Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
This commit is contained in:
1 parent
75c3d3cec4
commit
3a37bf120a
3 files changed
+14
-1
No files matched your search
+1
-1
@@ -79,7 +79,7 @@ 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-uninit-structure fix-unused-value fix-width no-abort; do
|
for patchname in fix-base64 fix-null-deref fix-null-state-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
|
||||||
|
|||||||
@@ -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-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-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
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
--- a/lib/argp-help.c 2020-10-28 14:32:19.189215988 +0000
|
||||||
|
+++ b/lib/argp-help.c 2020-10-28 14:38:21.204673940 +0000
|
||||||
|
@@ -145,7 +145,8 @@
|
||||||
|
if (*(int *)((char *)upptr + up->uparams_offs) >= upptr->rmargin)
|
||||||
|
{
|
||||||
|
__argp_failure (state, 0, 0,
|
||||||
|
- dgettext (state->root_argp->argp_domain,
|
||||||
|
+ dgettext (state == NULL ? NULL
|
||||||
|
+ : state->root_argp->argp_domain,
|
||||||
|
"\
|
||||||
|
ARGP_HELP_FMT: %s value is less than or equal to %s"),
|
||||||
|
"rmargin", up->name);
|
||||||
Reference in new issue
Block a user