}
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;
}
if ((write(fd, buffer, len)) == -1) {
SILC_LOG_ERROR(("Cannot write to file %s: %s", filename, strerror(errno)));
+ close(fd);
return -1;
}
if ((write(fd, buffer, len)) == -1) {
SILC_LOG_ERROR(("Cannot write to file %s: %s", filename, strerror(errno)));
+ close(fd);
return -1;
}