summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorantirez <antirez@gmail.com>2015-11-28 09:05:41 +0100
committerantirez <antirez@gmail.com>2015-12-18 09:10:51 +0100
commit0bc1993879c696ceef365621122d159fe8fc8509 (patch)
tree20cf5646be681729d622bec6e58407c6b5b69d45
parentcb61d003ab827b684c56a76ff04eb9fa3ae5e852 (diff)
downloadredis-0bc1993879c696ceef365621122d159fe8fc8509.tar.gz
fix sprintf and snprintf format string
There are some cases of printing unsigned integer with %d conversion specificator and vice versa (signed integer with %u specificator). Patch by Sergey Polovko. Backported to Redis from Disque.
-rw-r--r--src/debug.c2
-rw-r--r--src/redis-cli.c4
2 files changed, 3 insertions, 3 deletions
diff --git a/src/debug.c b/src/debug.c
index 0a2e6c683..29ae860d4 100644
--- a/src/debug.c
+++ b/src/debug.c
@@ -415,7 +415,7 @@ void _redisAssertPrintClientInfo(redisClient *c) {
if (c->argv[j]->type == REDIS_STRING && sdsEncodedObject(c->argv[j])) {
arg = (char*) c->argv[j]->ptr;
} else {
- snprintf(buf,sizeof(buf),"Object type: %d, encoding: %d",
+ snprintf(buf,sizeof(buf),"Object type: %u, encoding: %u",
c->argv[j]->type, c->argv[j]->encoding);
arg = buf;
}
diff --git a/src/redis-cli.c b/src/redis-cli.c
index 92e294127..93a090056 100644
--- a/src/redis-cli.c
+++ b/src/redis-cli.c
@@ -459,7 +459,7 @@ static sds cliFormatReplyTTY(redisReply *r, char *prefix) {
_prefix = sdscat(sdsnew(prefix),_prefixlen);
/* Setup prefix format for every entry */
- snprintf(_prefixfmt,sizeof(_prefixfmt),"%%s%%%dd) ",idxlen);
+ snprintf(_prefixfmt,sizeof(_prefixfmt),"%%s%%%ud) ",idxlen);
for (i = 0; i < r->elements; i++) {
/* Don't use the prefix for the first element, as the parent
@@ -1878,7 +1878,7 @@ void bytesToHuman(char *s, long long n) {
}
if (n < 1024) {
/* Bytes */
- sprintf(s,"%lluB",n);
+ sprintf(s,"%lldB",n);
return;
} else if (n < (1024*1024)) {
d = (double)n/(1024);