Skip to content

Commit

Permalink
Fix erronous madd
Browse files Browse the repository at this point in the history
The management of the first cell had 2 issues:
 - leak of memory
 - wrong values sent
  • Loading branch information
jobol committed Nov 14, 2022
1 parent 77f35f9 commit 294505e
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions src/redis-binding.c
Original file line number Diff line number Diff line change
Expand Up @@ -1076,6 +1076,9 @@ static void redis_madd (afb_req_t request) {
if ((ret=_allocate_argv_argvlen(nbargs, &argv, &argvlen)) != 0)
goto fail;

if ((ret = redisPutCmd(request, "TS.MADD", &argc, argv, argvlen)) != 0)
goto fail;

ret = _redis_get_ts_value(request, argsJ, &argc, argv, argvlen);
if (ret == -EINVAL) {
ret = asprintf(&resstr, "json error in '%s'", json_object_get_string(argsJ));
Expand All @@ -1090,6 +1093,9 @@ static void redis_madd (afb_req_t request) {
if ((ret =_allocate_argv_argvlen(nbargs, &argv, &argvlen)) != 0)
goto fail;

if ((ret = redisPutCmd(request, "TS.MADD", &argc, argv, argvlen)) != 0)
goto fail;

for (int ix = 0; ix < nbelems; ix++) {
json_object * elem = json_object_array_get_idx(argsJ, ix);
ret = _redis_get_ts_value(request, elem, &argc, argv, argvlen);
Expand All @@ -1104,10 +1110,6 @@ static void redis_madd (afb_req_t request) {
goto fail;
}

argc = 0;
if ((ret = redisPutCmd(request, "TS.MADD", &argc, argv, argvlen)) != 0)
goto fail;

if ((ret = redisSendCmd(request, nbargs, (const char **)argv, argvlen, NULL, &resstr)) != 0)
goto fail;

Expand Down

0 comments on commit 294505e

Please sign in to comment.