[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

freeze exception for texinfo 4.13a.dfsg.1-6



Dear release managers,

I know that it is late but we recently got some nasty bug reports
we would like to see fixed for squeeze (full debdiff at the end of the message)

The changes are as follows:
   * update-info-dir: load not only /etc/environment, but also
     /etc/default/locale for correct setup of languages (Closes: #536476)

This is a safe fix, suggested in the bug report, to make sure that the
info dir file is created in the correct language. It onlycomprises the
following patch:
--- texinfo-4.13a.dfsg.1/debian/update-info-dir
+++ texinfo-4.13a.dfsg.1/debian/update-info-dir
@@ -17,6 +17,9 @@
 if [ -r /etc/environment ] ; then
   . /etc/environment
 fi
+if [ -r /etc/default/locale ] ; then
+  . /etc/default/locale
+fi
 
------------------------------------------

   * info: fix a segfault due to unchecked node computation in nodes.c, patch
     included upstream (Closes: #598932)

THis bug has recently been found and fixed upstream, due to the bug report
in Debian. In principle the nodes in an info file are defined at the end
with pointers within the file, but when loading the info file the
info browser did not properly check that the pointers point actually
into the info file and not far away from the size of the file.

The patch is for info/nodes.c and looks like that:

Index: texinfo-4.13a.dfsg.1/info/nodes.c
===================================================================
--- texinfo-4.13a.dfsg.1.orig/info/nodes.c	2010-10-08 10:00:22.000000000 +0900
+++ texinfo-4.13a.dfsg.1/info/nodes.c	2010-10-08 10:13:25.000000000 +0900
@@ -960,6 +960,9 @@
         /* If we were able to find this file and load it, then return
            the node within it. */
         {
+          if (!(tag->nodestart >= 0 && tag->nodestart < subfile->filesize))
+            return NULL;
+
           NODE *node = xmalloc (sizeof (NODE));
           node->filename    = subfile->fullpath;
           node->parent      = NULL;

------------------------------------------------

   * create /usr/share/info if not present (install-info.dirs), so that
     Emdebian installation does not break (Closes: #599686)

Finally a bug report that stems from Emdebian, where update-info-dir
is called via trigger mechnism but there is no /usr/share/info
directory (as we do not create it up to now in the install-info
package). This can happen only in Emdebian where the info files
are removed from the package, but the triggers are still executed.

The simple fix which helps Emdebian and is a safe option is simply to
create /usr/share/info in the install-info package, which is anyway
a good idea in case someone wants to create empty dir files.

--- texinfo-4.13a.dfsg.1/debian/install-info.dirs
+++ texinfo-4.13a.dfsg.1/debian/install-info.dirs
@@ -1,0 +2 @@
+usr/share/info

--------------------------------------------------------------


I hope you will accept this still into squeeze. If there are any
questions please don't hesitate to contact us.

All the best

Norbert

Full debdiff output:
diff -u texinfo-4.13a.dfsg.1/debian/update-info-dir texinfo-4.13a.dfsg.1/debian/update-info-dir
--- texinfo-4.13a.dfsg.1/debian/update-info-dir
+++ texinfo-4.13a.dfsg.1/debian/update-info-dir
@@ -17,6 +17,9 @@
 if [ -r /etc/environment ] ; then
   . /etc/environment
 fi
+if [ -r /etc/default/locale ] ; then
+  . /etc/default/locale
+fi
 
 if [ -n "$1" ] ; then
   INFODIR="$1"
diff -u texinfo-4.13a.dfsg.1/debian/changelog texinfo-4.13a.dfsg.1/debian/changelog
--- texinfo-4.13a.dfsg.1/debian/changelog
+++ texinfo-4.13a.dfsg.1/debian/changelog
@@ -1,3 +1,14 @@
+texinfo (4.13a.dfsg.1-6) unstable; urgency=low
+
+  * update-info-dir: load not only /etc/environment, but also 
+    /etc/default/locale for correct setup of languages (Closes: #536476)
+  * info: fix a segfault due to unchecked node computation in nodes.c, patch
+    included upstream (Closes: #598932)
+  * create /usr/share/info if not present (install-info.dirs), so that
+    Emdebian installation does not break (Closes: #599686)
+
+ -- Norbert Preining <preining@debian.org>  Thu, 14 Oct 2010 16:33:25 +0900
+
 texinfo (4.13a.dfsg.1-5) unstable; urgency=low
 
   * update-info-dir: reset $LANGUAGE to the system wide setting in 
@@ -742,7 +753,7 @@
 Texinfo 3.1 Debian 1 - iwj
 Initial release, completely untested.
 
-# vim:set termencoding=iso8859-15 encoding=utf-8 fileencoding=utf-8: #
+# vim:set fileencoding=utf-8: #
 Local Variables:
 coding: utf-8
 mode: debian-changelog
diff -u texinfo-4.13a.dfsg.1/debian/install-info.dirs texinfo-4.13a.dfsg.1/debian/install-info.dirs
--- texinfo-4.13a.dfsg.1/debian/install-info.dirs
+++ texinfo-4.13a.dfsg.1/debian/install-info.dirs
@@ -1,0 +2 @@
+usr/share/info
diff -u texinfo-4.13a.dfsg.1/debian/patches/series texinfo-4.13a.dfsg.1/debian/patches/series
--- texinfo-4.13a.dfsg.1/debian/patches/series
+++ texinfo-4.13a.dfsg.1/debian/patches/series
@@ -5,0 +6 @@
+check-nodes-boundaries
only in patch2:
unchanged:
--- texinfo-4.13a.dfsg.1.orig/debian/patches/check-nodes-boundaries
+++ texinfo-4.13a.dfsg.1/debian/patches/check-nodes-boundaries
@@ -0,0 +1,22 @@
+patch for fixing #598932, a segfault under certain circumstances due to
+wrong node computation if the .info file is malformed.
+The patch is based on the one checked in to texinfo cvs by 
+Sergey Poznyakoff
+---
+ info/nodes.c |   13 +++++++++++--
+ 1 file changed, 11 insertions(+), 2 deletions(-)
+
+Index: texinfo-4.13a.dfsg.1/info/nodes.c
+===================================================================
+--- texinfo-4.13a.dfsg.1.orig/info/nodes.c	2010-10-08 10:00:22.000000000 +0900
++++ texinfo-4.13a.dfsg.1/info/nodes.c	2010-10-08 10:13:25.000000000 +0900
+@@ -960,6 +960,9 @@
+         /* If we were able to find this file and load it, then return
+            the node within it. */
+         {
++          if (!(tag->nodestart >= 0 && tag->nodestart < subfile->filesize))
++            return NULL;
++
+           NODE *node = xmalloc (sizeof (NODE));
+           node->filename    = subfile->fullpath;
+           node->parent      = NULL;


------------------------------------------------------------------------
Norbert Preining            preining@{jaist.ac.jp, logic.at, debian.org}
JAIST, Japan                                 TeX Live & Debian Developer
DSA: 0x09C5B094   fp: 14DF 2E6C 0307 BE6D AD76  A9C0 D2BF 4AA3 09C5 B094
------------------------------------------------------------------------
DUNBAR (n.)
A highly specialised fiscal term used solely by turnstile
operatives at Regnet's Part zoo. It refers to the variable amount of
increase in the variable gate takings on a Sunday afternoon, caused by
persons going to the zoo because they are in love and believe that the
feeling of romance will be somehow enhanced by the smell of panther
sweat and rank incontinence in the reptile house.
			--- Douglas Adams, The Meaning of Liff


Reply to: