diff options
author | Steve Bennett <steveb@workware.net.au> | 2021-02-20 17:59:36 +1000 |
---|---|---|
committer | Steve Bennett <steveb@workware.net.au> | 2021-02-20 17:59:36 +1000 |
commit | cf92d24919b783ed5c384e7f9e87c5c719613583 (patch) | |
tree | d1b81e5a7510bf327c096cee20602ac04a35d7a0 /jim-redis.c | |
parent | 3b92ca80792c60f0607accce3af9cc591cfbc21e (diff) | |
download | jimtcl-cf92d24919b783ed5c384e7f9e87c5c719613583.zip jimtcl-cf92d24919b783ed5c384e7f9e87c5c719613583.tar.gz jimtcl-cf92d24919b783ed5c384e7f9e87c5c719613583.tar.bz2 |
redis: avoid over-allocating memory
Should not make any difference in practice, but
the allocations should be size * (argc - 1) not size * argc - 1
Signed-off-by: Steve Bennett <steveb@workware.net.au>
Diffstat (limited to 'jim-redis.c')
-rw-r--r-- | jim-redis.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/jim-redis.c b/jim-redis.c index 3ac07eb..a22c8f2 100644 --- a/jim-redis.c +++ b/jim-redis.c @@ -81,13 +81,14 @@ static int jim_redis_subcmd(Jim_Interp *interp, int argc, Jim_Obj *const *argv) } } else { - args = Jim_Alloc(sizeof(*args) * argc - 1); - arglens = Jim_Alloc(sizeof(*arglens) * argc - 1); - for (i = 1; i < argc; i++) { - args[i - 1] = Jim_String(argv[i]); - arglens[i - 1] = Jim_Length(argv[i]); + int nargs = argc - 1; + args = Jim_Alloc(sizeof(*args) * nargs); + arglens = Jim_Alloc(sizeof(*arglens) * nargs); + for (i = 0; i < nargs; i++) { + args[i] = Jim_String(argv[i + 1]); + arglens[i] = Jim_Length(argv[i + 1]); } - reply = redisCommandArgv(c, argc - 1, args, arglens); + reply = redisCommandArgv(c, nargs, args, arglens); Jim_Free(args); Jim_Free(arglens); } |