diff --git a/src/bitops.c b/src/bitops.c index b8fff5c6..699681bc 100644 --- a/src/bitops.c +++ b/src/bitops.c @@ -306,7 +306,7 @@ int checkUnsignedBitfieldOverflow(uint64_t value, int64_t incr, uint64_t bits, i handle_wrap: { - uint64_t mask = ((int64_t)-1) << bits; + uint64_t mask = ((uint64_t)-1) << bits; uint64_t res = value+incr; res &= ~mask; @@ -349,7 +349,7 @@ int checkSignedBitfieldOverflow(int64_t value, int64_t incr, uint64_t bits, int handle_wrap: { - uint64_t mask = ((int64_t)-1) << bits; + uint64_t mask = ((uint64_t)-1) << bits; uint64_t msb = (uint64_t)1 << (bits-1); uint64_t a = value, b = incr, c; c = a+b; /* Perform addition as unsigned so that's defined. */ diff --git a/src/rdb.c b/src/rdb.c index f3c9c501..6d29f80c 100644 --- a/src/rdb.c +++ b/src/rdb.c @@ -736,7 +736,7 @@ ssize_t rdbSaveObject(rio *rdb, robj *o) { /* Then write the module-specific representation. */ mt->rdb_save(&io,mv->value); - return io.error ? -1 : io.bytes; + return io.error ? -1 : (ssize_t)io.bytes; } else { serverPanic("Unknown object type"); } diff --git a/src/redis-check-rdb.c b/src/redis-check-rdb.c index 1e34a62c..0723d2af 100644 --- a/src/redis-check-rdb.c +++ b/src/redis-check-rdb.c @@ -275,7 +275,8 @@ static char* loadStringObject() { return loadLzfStringObject(); default: /* unknown encoding */ - SHIFT_ERROR(offset, "Unknown string encoding (0x%02llx)", len); + SHIFT_ERROR(offset, "Unknown string encoding (0x%02llx)", + (unsigned long long) len); return NULL; } } @@ -390,7 +391,8 @@ static int loadPair(entry *e) { for (i = 0; i < length; i++) { offset = CURR_OFFSET; if (!processStringObject(NULL)) { - SHIFT_ERROR(offset, "Error reading element at index %llu (length: %llu)", i, length); + SHIFT_ERROR(offset, "Error reading element at index %llu (length: %llu)", + (unsigned long long) i, (unsigned long long) length); return 0; } } @@ -399,12 +401,14 @@ static int loadPair(entry *e) { for (i = 0; i < length; i++) { offset = CURR_OFFSET; if (!processStringObject(NULL)) { - SHIFT_ERROR(offset, "Error reading element key at index %llu (length: %llu)", i, length); + SHIFT_ERROR(offset, "Error reading element key at index %llu (length: %llu)", + (unsigned long long) i, (unsigned long long) length); return 0; } offset = CURR_OFFSET; if (!processDoubleValue(NULL)) { - SHIFT_ERROR(offset, "Error reading element value at index %llu (length: %llu)", i, length); + SHIFT_ERROR(offset, "Error reading element value at index %llu (length: %llu)", + (unsigned long long) i, (unsigned long long) length); return 0; } } @@ -413,12 +417,14 @@ static int loadPair(entry *e) { for (i = 0; i < length; i++) { offset = CURR_OFFSET; if (!processStringObject(NULL)) { - SHIFT_ERROR(offset, "Error reading element key at index %llu (length: %llu)", i, length); + SHIFT_ERROR(offset, "Error reading element key at index %llu (length: %llu)", + (unsigned long long) i, (unsigned long long) length); return 0; } offset = CURR_OFFSET; if (!processStringObject(NULL)) { - SHIFT_ERROR(offset, "Error reading element value at index %llu (length: %llu)", i, length); + SHIFT_ERROR(offset, "Error reading element value at index %llu (length: %llu)", + (unsigned long long) i, (unsigned long long) length); return 0; } } @@ -451,7 +457,8 @@ static entry loadEntry() { return e; } if (length > 63) { - SHIFT_ERROR(offset[1], "Database number out of range (%llu)", length); + SHIFT_ERROR(offset[1], "Database number out of range (%llu)", + (unsigned long long) length); return e; } } else if (e.type == RDB_OPCODE_EOF) {