diff options
author | antirez <antirez@gmail.com> | 2020-01-13 13:16:13 +0100 |
---|---|---|
committer | antirez <antirez@gmail.com> | 2020-03-05 16:28:24 +0100 |
commit | 60870d3a10fd9496a3860ec77a953a51fa3410c6 (patch) | |
tree | 83ae216666f9b1fac845338c48a5e5d146d4aaf2 | |
parent | d90f599b4d94ee77ad651b5233032f147720c1e6 (diff) | |
download | redis-60870d3a10fd9496a3860ec77a953a51fa3410c6.tar.gz |
Jump to right label on AOF parsing error.
Related to #6054.
-rw-r--r-- | src/aof.c | 10 |
1 files changed, 6 insertions, 4 deletions
@@ -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); |