The function leaked one full buffer per invocation. Fix this by simply removing
the call to alloc_trash_chunk(), the static chunk from get_trash_chunk() is
sufficient.

This bug was introduced in 0a72f5ee7c2a61bdb379436461269315c776b50a, which is
2.5-dev10. This fix needs to be backported to 2.5+.
---
 src/sample.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/src/sample.c b/src/sample.c
index 5abf4712a..63816be5d 100644
--- a/src/sample.c
+++ b/src/sample.c
@@ -3584,10 +3584,6 @@ static int sample_conv_jwt_member_query(const struct arg 
*args, struct sample *s
        if (item_num < member + 1)
                goto end;
 
-       decoded_header = alloc_trash_chunk();
-       if (!decoded_header)
-               goto end;
-
        ret = base64urldec(items[member].start, items[member].length,
                           decoded_header->area, decoded_header->size);
        if (ret == -1)
-- 
2.34.1


Reply via email to