Вот такая программа:
#include <stdio.h> #include <string.h>
int main() { FILE * file; char *str; char c; file = fopen("some_file","r"); str = (char*)calloc(sizeof(char),1); do { c = fgetc(file); sprintf(str,"%s%c",str,c); } while (c != '\n' && c != EOF); printf("\n String: %s",str); fclose(file); return 0; }
some_file - любой текстовый файл. она вызывает Segmentation Fault в системе Slackware 9.1 на строке fclose(file); Дистр поставлен, и напильником не обработан. gdb говорит что ошибка в glibc.so.6 (стоит 2.3.2)
Это вина девелопера glibc ? проверте ее на 9.1 - как у других бутет ли работать. Если ошибка - оправте отчет про ошибку.