Package: libhdate1
Version: 1.6-1
Severity: normal
Tags: patch

Hi!
libhdate calls localtime(long), when its interface requires time_t.

If sizeof(long) == sizeof(time_t), all is ok.
If sizeof(long) > sizeof(time_t), it will work on little-endian, use some
uninitialized memory on big-endian.
If sizeof(long) < sizeof(time_t), it will trample nearby memory.

This crash makes bsdmainutils FTBFS on x32, and bsdmainutils is required for
a regular debootstrap.


-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (600, 'unstable'), (500, 'experimental')
Architecture: x32 (x86_64)

Kernel: Linux 3.9.4-x32 (SMP w/5 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages libhdate1 depends on:
ii  libc6  2.17-92

libhdate1 recommends no packages.

libhdate1 suggests no packages.

-- no debconf information
--- src/hdate_julian.c~	2008-01-04 20:26:02.000000000 +0100
+++ src/hdate_julian.c	2013-08-15 15:48:34.307464802 +0200
@@ -367,7 +367,7 @@
 	if ((d == 0) || (m == 0))
 	{
 		struct tm *tm;
-		long t;
+		time_t t;
 		/* FIXME: day start at 6:00 or 12:00 like in Gregorian cal. ? */
 		t = time (0);
 		tm = localtime (&t);

Reply via email to