From: Jochen Eisinger Date: Mon, 12 Sep 2005 16:21:34 +0000 (+0000) Subject: check return values X-Git-Tag: silc.toolkit.1.0.1~18 X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=commitdiff_plain;h=7b99545554ee2dc41637bd89803741ceef6d2f57 check return values --- diff --git a/apps/silcd/silcd.c b/apps/silcd/silcd.c index 1ba9db3a..2ab51065 100644 --- a/apps/silcd/silcd.c +++ b/apps/silcd/silcd.c @@ -261,16 +261,21 @@ SILC_TASK_CALLBACK(stop_server) SILC_TASK_CALLBACK(dump_stats) { FILE *fdd; - int fd; + int fild; char filename[256]; memset(filename, 0, sizeof(filename)); snprintf(filename, sizeof(filename) - 1, "/tmp/silcd.%d.stats-XXXXXX", getpid()); - fd = mkstemp(filename); - if (fd == -1) + fild = mkstemp(filename); + if (fild == -1) return; - fdd = fdopen(fd, "w"); + fdd = fdopen(fild, "w"); + if (fdd == NULL) { + close(fild); + unlink(filename); + return; + } #define STAT_OUTPUT(fmt, stat) fprintf(fdd, fmt "\n", (int)stat);