diff --git a/src/scripting.c b/src/scripting.c index 15bea994a85d0c0906fe573bfe85f888db29ce20..9e11865e48be0ebc6637128e47b03d1e02e4abef 100644 --- a/src/scripting.c +++ b/src/scripting.c @@ -222,10 +222,7 @@ int luaRedisGenericCommand(lua_State *lua, int raise_error) { } /* Build the arguments vector */ - if (!argv) { - argv = zmalloc(sizeof(robj*)*argc); - argv_size = argc; - } else if (argv_size < argc) { + if (argv_size < argc) { argv = zrealloc(argv,sizeof(robj*)*argc); argv_size = argc; } @@ -402,6 +399,7 @@ cleanup: if (c->argv != argv) { zfree(c->argv); argv = NULL; + argv_size = 0; } if (raise_error) {