Fix potential infloop in fix-info-dir.

This modifies the existing patch to fix-info-dir to also fix an odd
infinite loop that can occur when /dev/null is not a device and  stderr
is redirected there.  https://bugzilla.redhat.com/show_bug.cgi?id=1614162
This commit is contained in:
Jason Tibbitts 2018-10-04 15:17:45 -05:00
parent 2dc8474fca
commit 3ac1f4efbe
2 changed files with 36 additions and 3 deletions

View File

@ -1,8 +1,36 @@
This fixes two issues:
https://bugzilla.redhat.com/show_bug.cgi?id=1592433
This is a bug in fix-info-dir --delete
(Hunk 3)
https://bugzilla.redhat.com/show_bug.cgi?id=1614162
This is a weird infinite loop that happens when fix-info-dir is run with stderr
redirected to /dev/null while /dev/null doesn't exist (or isn't a device)
(Hunks 1 and 2)
diff --git a/contrib/fix-info-dir b/contrib/fix-info-dir
index 4439ada..c054787 100755
index 4439ada..9240060 100755
--- a/contrib/fix-info-dir
+++ b/contrib/fix-info-dir
@@ -294,7 +294,7 @@ else
@@ -124,6 +124,7 @@ if test "$CREATE_NODE"; then
fi
shift
else
+ SKIP_READ=yes
SKELETON=/dev/null
fi
@@ -188,7 +189,7 @@ DIR_FILE_END_OF_FILE
# Read one line from the file. This is so that we can echo lines with
# whitespace and quoted characters in them.
- while read fileline; do
+ while test -z "$SKIP_READ" && read fileline; do
# flag fancy features
if test ! -z "$echoline"; then # echo line
echo "$fileline"
@@ -294,7 +295,7 @@ else
DONE_MSG="total invalid menu item(s) were removed from `pwd`/$DIR_FILE"
for Info_Name in `comm -23 $TMP_FILE1 $TMP_FILE2`; do
Changed="y"

View File

@ -3,7 +3,7 @@
Summary: Tools needed to create Texinfo format documentation files
Name: texinfo
Version: 6.5
Release: 10%{?dist}
Release: 11%{?dist}
License: GPLv3+
Url: http://www.gnu.org/software/texinfo/
Source0: ftp://ftp.gnu.org/gnu/texinfo/texinfo-%{version}.tar.xz
@ -145,6 +145,11 @@ export ALL_TESTS=yes
%{_mandir}/man1/pdftexi2dvi.1*
%changelog
* Thu Oct 04 2018 Jason L Tibbitts III <tibbs@math.uh.edu> - 6.5-11
- Fix another issue in fix-info-dir which could lead to an infinite loop in odd
circumstances.
Resolves: #1614162
* Thu Aug 09 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 6.5-10
- Drop macros.info