another freeze exception, this time for texlive-bin 2009-8
Dear release managers,
again I would like to ask for a freez exception, this time for
telxive-bin 2009-8. The only change is the following quilt patch added
to fix segfaults on mipsel (and probably other archs).
This is the grave bug #602566.
The patch was submitted to the bug report and is already included
upstream (texlive svn repository rev 20390, changelog entry of
upstream TeX Live:
2010-11-10 Mathias Kende <mathias@kende.fr>
* tex-file.c (kpathsea_set_suffixes_va_list): new fn.
(kpse_set_suffixes, kpathsea_set_suffixes): call it.
Avoids passing variable argument list, which is not portable.
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=602566
The bug is described in the bug report as follows:
> The bug seems to come from libkpathsea5 and not from dvi2ps. It exists
> on all platforms (at least also on AMD64) but does not trigger a
> segfault. It comes from the kpse_set_suffixes function in the
> libkpathsea compatibility API which calls the kpathsea_set_suffixes
> function and passes to it its variable list of arguments. This operation
> is invalid in C.
The full bug is:
---
texk/kpathsea/tex-file.c | 21 ++++++++++++++-------
1 file changed, 14 insertions(+), 7 deletions(-)
Index: texlive-bin-2009/texk/kpathsea/tex-file.c
===================================================================
--- texlive-bin-2009.orig/texk/kpathsea/tex-file.c 2010-11-10 10:56:14.000000000 +0900
+++ texlive-bin-2009/texk/kpathsea/tex-file.c 2010-11-10 10:56:28.000000000 +0900
@@ -321,14 +321,13 @@
/* Some file types have more than one suffix, and sometimes it is
convenient to modify the list of searched suffixes. */
-void
-kpathsea_set_suffixes (kpathsea kpse, kpse_file_format_type format,
- boolean alternate, ...)
+static void
+kpathsea_set_suffixes_va_list(kpathsea kpse, kpse_file_format_type format,
+ boolean alternate, va_list ap)
{
const_string **list;
const_string s;
int count = 0;
- va_list ap;
if (alternate) {
list = &(kpse->format_info[format].alt_suffix);
@@ -336,16 +335,24 @@
list = &(kpse->format_info[format].suffix);
}
- va_start (ap, alternate);
while ((s = va_arg (ap, string)) != NULL) {
count++;
XRETALLOC (*list, count + 1, const_string);
(*list)[count - 1] = s;
}
- va_end (ap);
(*list)[count] = NULL;
}
+void
+kpathsea_set_suffixes (kpathsea kpse, kpse_file_format_type format,
+ boolean alternate, ...)
+{
+ va_list ap;
+ va_start (ap, alternate);
+ kpathsea_set_suffixes_va_list (kpse, format, alternate, ap);
+ va_end (ap);
+}
+
#if defined (KPSE_COMPAT_API)
void
@@ -354,7 +361,7 @@
{
va_list ap;
va_start (ap, alternate);
- kpathsea_set_suffixes (kpse_def, format, alternate, ap);
+ kpathsea_set_suffixes_va_list (kpse_def, format, alternate, ap);
va_end (ap);
}
#endif
I would like to ask for freeze exception for this package.
Thanks a lot and all the best
Norbert
------------------------------------------------------------------------
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
------------------------------------------------------------------------
Far out in the uncharted backwaters of the unfashionable
end of the western spiral arm of the Galaxy lies a small
unregarded yellow sun.
--- Douglas Adams, The Hitchhikers Guide to the Galaxy
Reply to: