Package: xlibs Version: 4.2.1-3 Severity: normal Nighthawk 1.0-14 dies with SIGSEGV on Alpha before it displays anything. With GDB and mcheck_pedantic(), I traced the problem to heap corruption in the Xpm library. xpmParseDataAndCreate (in xc/extras/Xpm/lib/create.c) sets ximage->f.put_pixel=PutPixel32, but the PutPixel32 function assumes that unsigned long is 32-bit, although it's actually 64-bit on the Alpha. XPutPixel will then write past the end of the pixel and often also past the end of a malloced block.
The Xpm library already tries to support 64-bit processors: if the WORD64 or LONG64 macro is defined, it disables PutPixel32 and always uses the more portable functions PitPixel32MSB or PutPixel32LSB instead. However, it seems the library was compiled without these macros. I guess that WORD64 means int is 64-bit and LONG64 means long is 64-bit; then LONG64 would be appropriate for Debian on the Alpha. What would be a good place to define the macro? <X11/Xmd.h> already conditionally defines it; should the Xpm sources then include this header? -- System Information Debian Release: testing/unstable Architecture: alpha Kernel: Linux Saastamoduuli 2.2.22 #1 Sat Oct 26 18:09:21 EST 2002 alpha Locale: LANG=fi_FI@euro, LC_CTYPE=fi_FI@euro Versions of packages xlibs depends on: ii libc6.1 2.2.5-14.3 GNU C Library: Shared libraries an ii libfreetype6 2.1.2-9 FreeType 2 font engine, shared lib ii xfree86-common 4.2.1-3 X Window System (XFree86) infrastr -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]