abrt 1.0.2 detected a crash. How to reproduce ----- 1. Run /usr/bin/w in Electric Fence Comment ----- The problem is that in ./proc/sysinfo.c uptime(), it is not considered that the "savelocale" string is overwritten by the subsequent call to setlocale(). Hence restoring the locale later on won't work this way. "savelocale" ought to be a copy of the string pointed to by setlocale()'s return-value. [...] char *restrict savelocale; FILE_TO_BUF(UPTIME_FILE,uptime_fd); savelocale = setlocale(LC_NUMERIC, NULL); setlocale(LC_NUMERIC,"C"); if (sscanf(buf, "%lf %lf", &up, &idle) < 2) { setlocale(LC_NUMERIC,savelocale); fputs("bad data in " UPTIME_FILE "\n", stderr); return 0; } setlocale(LC_NUMERIC,savelocale); [...] Attached file: backtrace cmdline: w component: procps executable: /usr/bin/w kernel: 2.6.31.6-166.fc12.i686 package: procps-3.2.8-3.fc12 rating: 4 reason: Process was terminated by signal 11 (Segmentation fault)
Created attachment 379180 [details] File: backtrace
Created attachment 382658 [details] patch I mailed to upstream
hello Michael, thanks for the bug report and for the patch fixed in rawhide: procps-3.2.8-5.fc13