以下にこのコードスニペットがありますが、動的割り当てである「str」での割り当て中にクラッシュします。
char *str;
int file_size;
FILE *fptr;
if (!(fptr = fopen(filename, "r"))) goto error1;
if ((fseek(fptr, 0L, SEEK_END) != 0)) goto error2;
if (!(file_size=ftell(fptr))) goto error2;
if ((fseek(fptr, 0L, SEEK_SET) != 0)) goto error2;
str = (char*)malloc(file_size+1);
if (fread(str, file_size, 1, fptr) != 1) {
free(str);
goto error2;
}
str[file_size] = '\0';
fclose(fptr);
file_sizeはゼロ以外、負ではない140未満の値
ARMを使用しています。これは実際には私のIntelPCで機能しますが、アームマシンでは機能しません。