summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorantirez <antirez@gmail.com>2020-01-13 13:16:13 +0100
committerantirez <antirez@gmail.com>2020-03-05 16:28:24 +0100
commit60870d3a10fd9496a3860ec77a953a51fa3410c6 (patch)
tree83ae216666f9b1fac845338c48a5e5d146d4aaf2
parentd90f599b4d94ee77ad651b5233032f147720c1e6 (diff)
downloadredis-60870d3a10fd9496a3860ec77a953a51fa3410c6.tar.gz
Jump to right label on AOF parsing error.
Related to #6054.
-rw-r--r--src/aof.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/aof.c b/src/aof.c
index d9db308bb..54fbb6f5f 100644
--- a/src/aof.c
+++ b/src/aof.c
@@ -782,12 +782,14 @@ int loadAppendOnlyFile(char *filename) {
for (j = 0; j < argc; j++) {
/* Parse the argument len. */
- if (fgets(buf,sizeof(buf),fp) == NULL ||
- buf[0] != '$')
- {
+ char *readres = fgets(buf,sizeof(buf),fp);
+ if (readres == NULL || buf[0] != '$') {
fakeClient->argc = j; /* Free up to j-1. */
freeFakeClientArgv(fakeClient);
- goto readerr;
+ if (readres == NULL)
+ goto readerr;
+ else
+ goto fmterr;
}
len = strtol(buf+1,NULL,10);