severity 406036 serious
found 406036 1.3.4-2
thanks
Hi,
Here's the backtrace for the SIGBUS on sparc in tsa2d32.c:
Program received signal SIGBUS, Bus error.
[Switching to Thread 0xf7aceac0 (LWP 10858)]
0x00011544 in qcmp_usecount (a=0x24008, b=0x2400c) at tsa2d32.c:67
67 lena=*(pa++); usecounta = *((usecount_t *)pa); pa+=
sizeof(usecount_t);
(gdb) bt full
#0 0x00011544 in qcmp_usecount (a=0x24008, b=0x2400c) at tsa2d32.c:67
idxa = 0
pa = 0xf6fd4009 ""
idxb = 13
pb = 0xf6fd4015 "\005"
lena = 2 '\002'
lenb = 2 '\002'
len = 2 '\002'
i = 680187
ka = 65535
kb = 65535
usecounta = 680205
usecountb = 0
tlena = 6
tlenb = 6
pa is a pointer to char, so when pa is incremented (pa++), it becomes
unaligned, and gets a SIGBUS when an attempt is made to read 4 bytes
(the size of usecount_t, which is int) at this location. Generally,
it's a very bad idea to mix char and int data in the same array, I'm
somewhat surprised that it actually works on other arches with strict
alignment requirements.
I'm bumping the severity back to serious, since failure to build on
sparc is still a release-critical bug.
Best regards,
--
Jurij Smakov jurij AT wooyd DOT org
Key: http://www.wooyd.org/pgpkey/ KeyID: C99E03CC