summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorantirez <antirez@gmail.com>2011-03-04 16:24:30 +0100
committerantirez <antirez@gmail.com>2011-03-04 16:24:30 +0100
commita63773fae521c9b831e50226850f5af2a9bc3e90 (patch)
treea48ae2f98ca7d88d356f91a1e73885fd96a6a58e
parentf7ba093969f432b03fd846a6a61fd9b6986c8823 (diff)
downloadredis-a63773fae521c9b831e50226850f5af2a9bc3e90.tar.gz
AOF file descriptor leak fix backported from 2.2
-rw-r--r--redis.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/redis.c b/redis.c
index d1685da6a..9037e23c8 100644
--- a/redis.c
+++ b/redis.c
@@ -8418,8 +8418,10 @@ int loadAppendOnlyFile(char *filename) {
struct redis_stat sb;
int appendonly = server.appendonly;
- if (redis_fstat(fileno(fp),&sb) != -1 && sb.st_size == 0)
+ if (fp && redis_fstat(fileno(fp),&sb) != -1 && sb.st_size == 0) {
+ fclose(fp);
return REDIS_ERR;
+ }
if (fp == NULL) {
redisLog(REDIS_WARNING,"Fatal error: can't open the append log file for reading: %s",strerror(errno));