From ec1005134995d5c9da0d8c8b20ab96856449d83c Mon Sep 17 00:00:00 2001 From: Christopher Faulet Date: Mon, 24 Jul 2017 15:38:41 +0200 Subject: [PATCH] MINOR: samples: Handle the type SMP_T_METH when we duplicate a sample in smp_dup First, the type SMP_T_METH was not handled by smp_dup function. It was never called with this kind of samples, so it's not really a problem. But, this could be useful in future. For all known HTTP methods (GET, POST...), there is no extra space allocated for a sample of type SMP_T_METH. But for unkown methods, it uses a chunk. So, like for strings, we duplicate data, using a trash chunk. --- src/sample.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/sample.c b/src/sample.c index 20a59bea9..28a5fcb26 100644 --- a/src/sample.c +++ b/src/sample.c @@ -658,6 +658,11 @@ int smp_dup(struct sample *smp) /* These type are not const. */ break; + case SMP_T_METH: + if (smp->data.u.meth.meth != HTTP_METH_OTHER) + break; + /* Fall through */ + case SMP_T_STR: trash = get_trash_chunk(); trash->len = smp->data.u.str.len; @@ -678,6 +683,7 @@ int smp_dup(struct sample *smp) memcpy(trash->str, smp->data.u.str.str, trash->len); smp->data.u.str = *trash; break; + default: /* Other cases are unexpected. */ return 0;