Date: Wed, 17 May 2006 12:36:40 -0600 From: Lorin Lund <wbs@infowest.com> To: Andy Greenwood <greenwood.andy@gmail.com> Cc: FreeBSD Questions <freebsd-questions@freebsd.org> Subject: Re: C coding question Message-ID: <446B6D38.4070105@infowest.com> In-Reply-To: <3ee9ca710605171109i57ae4064x702216a1619d6c41@mail.gmail.com> References: <3ee9ca710605171109i57ae4064x702216a1619d6c41@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Andy Greenwood wrote:
> I am helping someone work on porting some code to Freebsd, and the
> code below works on Linux, but not on FreeBSD (compiles, but gives
> Segmentation Fault: 11). I'm not sure where the problem is, and any
> pointers would be much appreciated.
>
> /* Check if we must stop */
> if(tf_stat_file != NULL)
> {
> tf_stat = fopen(tf_stat_file, "r");
> if (tf_stat != NULL)
> {
> /* Get state */
> stat_state=fgetc(tf_stat);
>
> /* Torrentflux asked to shutdown the torrent */
> if (stat_state == '0')
> {
> mustDie = 1;
> }
> }
> fclose(tf_stat);
> }
> _______________________________________________
I think I would move the
fclose( tf_stat)
up a line. No need to close a file that failed to open. The fclose( )
acting on
a NULL pointer might be your error.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?446B6D38.4070105>
