From 53f1d81712ff66d0343647af2f15308ea7e89d30 Mon Sep 17 00:00:00 2001 From: Pieter Noordhuis Date: Thu, 16 Dec 2010 23:35:02 +0100 Subject: [PATCH] Fix NULL-termination of variable data in redis-benchmark --- src/redis-benchmark.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/redis-benchmark.c b/src/redis-benchmark.c index c44b0ae4..5e40c97b 100644 --- a/src/redis-benchmark.c +++ b/src/redis-benchmark.c @@ -195,6 +195,11 @@ static void readHandler(aeEventLoop *el, int fd, void *privdata, int mask) { exit(1); } if (reply != NULL) { + if (reply == (void*)REDIS_REPLY_ERROR) { + fprintf(stderr,"Unexpected error reply, exiting...\n"); + exit(1); + } + if (config.donerequests < config.requests) config.latency[config.donerequests++] = c->latency; clientDone(c); @@ -454,8 +459,9 @@ int main(int argc, char **argv) { c->obuf = sdscatprintf(c->obuf,"*%d\r\n$4\r\nMSET\r\n", 11); { int i; - char *data = zmalloc(config.datasize+2); + char *data = zmalloc(config.datasize+1); memset(data,'x',config.datasize); + data[config.datasize] = '\0'; for (i = 0; i < 10; i++) { c->obuf = sdscatprintf(c->obuf,"$%d\r\n%s\r\n",config.datasize,data); } -- 2.47.2