Bug#156542: tst_strfmon fails in make check
Package: glibc
Version: 2.2.5-13
Severity: minor
Hi,
As part of the CVS patch, tests-mbwc/dat_strfmon.c is updated when
building glibc-2.2.5-13 (also earlier releases, ever since the CVS
patch from march was included).
With this update, I always get SIGSEGV from tst_strfmon during "make
check". A further update from the glibc-2-2-branch from CVS is
necessary, to update localedata/tests-mbwc/tst_types.h for longer
buffers.
Alternatively, the additional appended dpatch could be included in the
Debian patch set.
Regards,
Wolfram.
#! /bin/sh -e
# DP: patch for tst_strfmon failure
if [ $# -ne 2 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch) patch -d "$2" -f --no-backup-if-mismatch -p0 < $0;;
-unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p0 < $0;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
--- localedata/tests-mbwc/tst_types.h.orig Wed Aug 2 19:55:11 2000
+++ localedata/tests-mbwc/tst_types.h Sun Apr 14 23:25:35 2002
@@ -19,7 +19,7 @@
#define MBSSIZE 24
#define WCSSIZE 12
#define MONFMTSIZE 16
-#define MONSIZE 32
+#define MONSIZE 64
#define USE_MBCURMAX 99 /* well, but ... */
#define TST_DBL_EPS 2.22153e-16
#define WCSTOK_SEQNUM 3
--- localedata/tests-mbwc/tst_strfmon.c.orig Thu Jun 29 10:46:04 2000
+++ localedata/tests-mbwc/tst_strfmon.c Sun Apr 14 23:37:36 2002
@@ -27,6 +27,12 @@
fmt = TST_INPUT (strfmon).fmt;
val = TST_INPUT (strfmon).val;
memset (buf, 0, MONSIZE);
+ if (nbt > MONSIZE)
+ {
+ err_count++;
+ Result (C_FAILURE, S_STRFMON, CASE_3, "buffer too small in test");
+ continue;
+ }
TST_CLEAR_ERRNO;
ret = strfmon (buf, nbt, fmt, val, val, val);
Reply to: