From: Pekka Riikonen Date: Thu, 7 Jun 2001 06:57:05 +0000 (+0000) Subject: updates. X-Git-Tag: 1.2.beta1~2187 X-Git-Url: http://git.silcnet.org/gitweb/?a=commitdiff_plain;h=a28ac8d38f96be171fdfd682f84c044cc83731f3;p=crypto.git updates. --- diff --git a/lib/silcutil/silclog.c b/lib/silcutil/silclog.c index 13d18647..91b254d5 100644 --- a/lib/silcutil/silclog.c +++ b/lib/silcutil/silclog.c @@ -107,6 +107,8 @@ void silc_log_output(const char *filename, uint32 maxsize, /* Purge? */ if (filelen >= maxsize) unlink(filename); + + fclose(fp); } } @@ -126,7 +128,8 @@ void silc_log_output(const char *filename, uint32 maxsize, fprintf(fp, "[%s] [%s] %s\n", silc_get_time(), np->name, string); fflush(fp); - fclose(fp); + if (fp != stderr) + fclose(fp); silc_free(string); } diff --git a/lib/silcutil/silcutil.c b/lib/silcutil/silcutil.c index 10b37f09..3e969c73 100644 --- a/lib/silcutil/silcutil.c +++ b/lib/silcutil/silcutil.c @@ -41,13 +41,18 @@ char *silc_file_read(const char *filename, uint32 *return_len) } filelen = lseek(fd, (off_t)0L, SEEK_END); - if (filelen < 0) + if (filelen < 0) { + close(fd); return NULL; - if (lseek(fd, (off_t)0L, SEEK_SET) < 0) + } + if (lseek(fd, (off_t)0L, SEEK_SET) < 0) { + close(fd); return NULL; + } if (filelen < 0) { SILC_LOG_ERROR(("Cannot open file %s: %s", filename, strerror(errno))); + close(fd); return NULL; } @@ -84,6 +89,7 @@ int silc_file_write(const char *filename, const char *buffer, uint32 len) if ((write(fd, buffer, len)) == -1) { SILC_LOG_ERROR(("Cannot write to file %s: %s", filename, strerror(errno))); + close(fd); return -1; } @@ -108,6 +114,7 @@ int silc_file_write_mode(const char *filename, const char *buffer, if ((write(fd, buffer, len)) == -1) { SILC_LOG_ERROR(("Cannot write to file %s: %s", filename, strerror(errno))); + close(fd); return -1; }