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:
parent
75c3d3cec4
commit
3a37bf120a
@ -79,7 +79,7 @@ cp -a INSTALL INSTALL.grub
|
||||
|
||||
bootstrap_post_import_hook () {
|
||||
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 \
|
||||
< "grub-core/lib/gnulib-patches/$patchname.patch"
|
||||
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-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-unused-value.patch
|
||||
EXTRA_DIST += grub-core/lib/gnulib-patches/fix-width.patch
|
||||
|
||||
12
grub-core/lib/gnulib-patches/fix-null-state-deref.patch
Normal file
12
grub-core/lib/gnulib-patches/fix-null-state-deref.patch
Normal file
@ -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);
|
||||
Loading…
x
Reference in New Issue
Block a user