[Comm] Странный segmentation fault - помогите разобраться

Olvin =?iso-8859-1?q?olvin_=CE=C1_rambler=2Eru?=
Пт Июл 7 20:23:27 MSD 2006


Вот такая програмка (файл test.c):

#include <fcntl.h>
int main (int argc, char *argv[]) {
  int fd,tmp,a;
  struct stat *buf;
  void *fb;
  fd = open("/tmp/tst",O_RDONLY);
  tmp = fstat(fd,buf);
}

Компиляция:

$ cc -o test test.c

Запуск:

$ touch /tmp/tst
$ ./test
Segmentation fault
$

Но стоит изменить int fd,tmp,a на int fd,tmp и уже не сегфолтится. 
Однако при попытке распечатать с помощью того же printf значение tmp - 
снова сегфолт.

В чём дело?

$ cc --version
2.96
$ uname -a
Linux olvin.enigma.local 2.4.26-std-up-alt13 #1 Mon Nov 14 00:25:14 MSK 
2005 i686 unknown unknown GNU/Linux

ALM2.4.



Подробная информация о списке рассылки community