In the functions create_initial_state() and calc_eclosure_iter(), memory is allocated for the elems member of a re_node_set structure but that memory isn't freed on error. Before returning an error, a call to re_node_set_free() should be made to prevent the resource leak. This issue has been fixed in the latest version of gnulib and I've backported this change to maintain consistency. This issue was found by a Coverity scan of GRUB2 under the following CIDs: 473869, 473888. Fixes: CID 473869 Fixes: CID 473888 Signed-off-by: Alec Brown <alec.r.brown@oracle.com> Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
107 lines
2.6 KiB
Plaintext
107 lines
2.6 KiB
Plaintext
# Bootstrap configuration.
|
|
|
|
# Copyright (C) 2006-2022 Free Software Foundation, Inc.
|
|
|
|
# This program is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
|
|
|
|
GNULIB_REVISION=9f48fb992a3d7e96610c4ce8be969cff2d61a01b
|
|
|
|
# gnulib modules used by this package.
|
|
# mbswidth is used by fix-width.diff's changes to argp rather than directly.
|
|
gnulib_modules="
|
|
argp
|
|
base64
|
|
error
|
|
fnmatch
|
|
getdelim
|
|
getline
|
|
gettext-h
|
|
gitlog-to-changelog
|
|
mbswidth
|
|
progname
|
|
realloc-gnu
|
|
regex
|
|
save-cwd
|
|
stdbool
|
|
"
|
|
|
|
gnulib_tool_option_extras="\
|
|
--no-conditional-dependencies \
|
|
--no-vc-files \
|
|
"
|
|
|
|
gnulib_name=libgnu
|
|
source_base=grub-core/lib/gnulib
|
|
gnulib_extra_files="
|
|
build-aux/install-sh
|
|
build-aux/mdate-sh
|
|
build-aux/texinfo.tex
|
|
build-aux/depcomp
|
|
build-aux/config.guess
|
|
build-aux/config.sub
|
|
"
|
|
|
|
# Additional xgettext options to use. Use "\\\newline" to break lines.
|
|
XGETTEXT_OPTIONS=$XGETTEXT_OPTIONS'\\\
|
|
--from-code=UTF-8\\\
|
|
'
|
|
|
|
checkout_only_file=
|
|
copy=true
|
|
vc_ignore=
|
|
|
|
SKIP_PO=t
|
|
|
|
# Build prerequisites
|
|
buildreq="\
|
|
autoconf 2.64
|
|
automake 1.14
|
|
gettext -
|
|
git 1.5.5
|
|
patch -
|
|
tar -
|
|
"
|
|
|
|
# bootstrap doesn't give us a reasonable way to stop Automake from
|
|
# overwriting this, so we just copy our version aside and put it back later.
|
|
cp -a INSTALL INSTALL.grub
|
|
|
|
bootstrap_post_import_hook () {
|
|
set -e
|
|
|
|
# Instead of patching our gnulib and therefore maintaining a fork, submit
|
|
# changes to gnulib and update the hash above when they've merged. Do not
|
|
# add new patches here.
|
|
for patchname in fix-width fix-regcomp-resource-leak; do
|
|
patch -d grub-core/lib/gnulib -p2 \
|
|
< "grub-core/lib/gnulib-patches/$patchname.patch"
|
|
done
|
|
|
|
for patchname in \
|
|
0001-Support-POTFILES-shell \
|
|
0002-Handle-gettext_printf-shell-function \
|
|
0003-Make-msgfmt-output-in-little-endian \
|
|
0004-Use-SHELL-rather-than-bin-sh; do
|
|
patch -d po -p3 \
|
|
< "po/gettext-patches/$patchname.patch"
|
|
done
|
|
FROM_BOOTSTRAP=1 ./autogen.sh
|
|
set +e # bootstrap expects this
|
|
}
|
|
|
|
bootstrap_epilogue () {
|
|
mv INSTALL.grub INSTALL
|
|
}
|