summaryrefslogtreecommitdiff
path: root/src/rdb.c
diff options
context:
space:
mode:
authorOran Agra <oran@redislabs.com>2020-09-16 20:21:04 +0300
committerGitHub <noreply@github.com>2020-09-16 20:21:04 +0300
commit092cfca5224e8e88053cd5b8a7b82f0f14b17011 (patch)
tree791061a13b003c3ca9761a28cea79b3cafbeb2ab /src/rdb.c
parentf86602339968cc89e31bd51fb9d6c771c3ab26ee (diff)
downloadredis-092cfca5224e8e88053cd5b8a7b82f0f14b17011.tar.gz
Add printf attribute and fix warnings and a minor bug (#7803)
The fix in error handling of rdbGenericLoadStringObject is an actual bugfix
Diffstat (limited to 'src/rdb.c')
-rw-r--r--src/rdb.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/rdb.c b/src/rdb.c
index 80fe3c5a6..37e09ef96 100644
--- a/src/rdb.c
+++ b/src/rdb.c
@@ -52,6 +52,9 @@ extern int rdbCheckMode;
void rdbCheckError(const char *fmt, ...);
void rdbCheckSetError(const char *fmt, ...);
+#ifdef __GNUC__
+void rdbReportError(int corruption_error, int linenum, char *reason, ...) __attribute__ ((format (printf, 3, 4)));
+#endif
void rdbReportError(int corruption_error, int linenum, char *reason, ...) {
va_list ap;
char msg[1024];
@@ -487,7 +490,7 @@ void *rdbGenericLoadStringObject(rio *rdb, int flags, size_t *lenptr) {
int plain = flags & RDB_LOAD_PLAIN;
int sds = flags & RDB_LOAD_SDS;
int isencoded;
- uint64_t len;
+ unsigned long long len;
len = rdbLoadLen(rdb,&isencoded);
if (isencoded) {
@@ -499,8 +502,8 @@ void *rdbGenericLoadStringObject(rio *rdb, int flags, size_t *lenptr) {
case RDB_ENC_LZF:
return rdbLoadLzfStringObject(rdb,flags,lenptr);
default:
- rdbExitReportCorruptRDB("Unknown RDB string encoding type %d",len);
- return NULL; /* Never reached. */
+ rdbExitReportCorruptRDB("Unknown RDB string encoding type %llu",len);
+ return NULL;
}
}
@@ -2198,7 +2201,7 @@ int rdbLoadRio(rio *rdb, int rdbflags, rdbSaveInfo *rsi) {
if (luaCreateFunction(NULL,server.lua,auxval) == NULL) {
rdbExitReportCorruptRDB(
"Can't load Lua script from RDB file! "
- "BODY: %s", auxval->ptr);
+ "BODY: %s", (char*)auxval->ptr);
}
} else if (!strcasecmp(auxkey->ptr,"redis-ver")) {
serverLog(LL_NOTICE,"Loading RDB produced by version %s",