私は明らかに何かが欠けています。誰かがなぜこれが起こるのか説明してもらえますか?fcloseでsegfaultを使用する理由
#define RANDOM_DEVICE "/dev/random"
int create_shared_secret(char * secret,int size)
{
FILE * file=NULL;
int RetVal;
file=fopen(RANDOM_DEVICE,"r");
if(!file)
{
printf("Unable to open random device %s\n",RANDOM_DEVICE);
exit(-1);
}
RetVal=fread(&secret,1,size,file);
if(RetVal!=size)
{
printf("Problem getting seed value\n");
exit(-1);
}
if(file) fclose(file); //segfault right here
return 0;
}
私は愚かな何かをしたと信じられません。ありがとう。 – Belrog
正解と優秀な説明の勝利の組合せのための+1。 –
@caf: 'fread'は' void * 'を取ります。約警告はありません。 –