]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MEDIUM: sample: Fix adjusting size in word converter
authorThayne McCombs <astrothayne@gmail.com>
Thu, 26 May 2022 04:58:51 +0000 (22:58 -0600)
committerWilly Tarreau <w@1wt.eu>
Fri, 27 May 2022 17:33:34 +0000 (19:33 +0200)
Adjust the size of the sample buffer before we change the "area"
pointer. Otherwise, we end up not changing the size, because the area
pointer is already the same as "start" before we compute the difference
between the two.

This is similar to the change in b28430591d18f7fda5bac2e0ea590b3a34f04601
but for the word converter instead of field.

src/sample.c

index 8a0a66b8c32df7a3c0dafde3962e6a2d025b40e7..50ae76b6e574e7843e0881b9ef281bc30957c5f5 100644 (file)
@@ -2596,13 +2596,14 @@ found:
        if (!smp->data.u.str.data)
                return 1;
 
-       smp->data.u.str.area = start;
 
        /* Compute remaining size if needed
            Note: smp->data.u.str.size cannot be set to 0 */
        if (smp->data.u.str.size)
                smp->data.u.str.size -= start - smp->data.u.str.area;
 
+       smp->data.u.str.area = start;
+
        return 1;
 }