]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Free redis result on failure paths
authorNick Porter <nick@portercomputing.co.uk>
Thu, 13 Apr 2023 16:19:14 +0000 (17:19 +0100)
committerNick Porter <nick@portercomputing.co.uk>
Thu, 13 Apr 2023 16:19:14 +0000 (17:19 +0100)
src/modules/rlm_redis/rlm_redis.c

index 3ac92c21506a060e61520c4c566d32f8a5e25eae..d9bea2dfde4f99be29965fed57b69b0407bf4318 100644 (file)
@@ -510,7 +510,8 @@ static xlat_action_t redis_lua_func_xlat(TALLOC_CTX *ctx, fr_dcursor_t *out,
        MEM(vb_out = fr_value_box_alloc_null(ctx));
        if (fr_redis_reply_to_value_box(ctx, vb_out, reply, FR_TYPE_VOID, NULL, false, false) < 0) {
                RPERROR("Failed processing reply");
-               return XLAT_ACTION_FAIL;
+               action = XLAT_ACTION_FAIL;
+               goto finish;
        }
        fr_dcursor_append(out, vb_out);
 
@@ -719,7 +720,8 @@ reply_parse:
        MEM(vb_out = fr_value_box_alloc_null(ctx));
        if (fr_redis_reply_to_value_box(ctx, vb_out, reply, FR_TYPE_VOID, NULL, false, false) < 0) {
                RPERROR("Failed processing reply");
-               return XLAT_ACTION_FAIL;
+               action = XLAT_ACTION_FAIL;
+               goto finish;
        }
        fr_dcursor_append(out, vb_out);