From 29a05c13d1f43e4f05b4211a9ccc65205b2e1cf0 Mon Sep 17 00:00:00 2001 From: Thierry FOURNIER Date: Sun, 25 Feb 2018 21:33:38 +0100 Subject: [PATCH] BUG/MINOR: spoa-example: unexpected behavior for more than 127 args Buf is unsigned, so nbargs will be negative for more then 127 args. Note that I cant test this bug because I cant put sufficient args on the configuration line. It is just detected reading code. [wt: this can be backported to 1.8 & 1.7] --- contrib/spoa_example/spoa.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/spoa_example/spoa.c b/contrib/spoa_example/spoa.c index 026f25680..bf2dbe9a9 100644 --- a/contrib/spoa_example/spoa.c +++ b/contrib/spoa_example/spoa.c @@ -1318,7 +1318,7 @@ process_frame_cb(evutil_socket_t fd, short events, void *arg) DEBUG(frame->worker, "Process SPOE Message '%.*s'", (int)sz, str); - nbargs = *p++; /* Get the number of arguments */ + nbargs = (unsigned char)*p++; /* Get the number of arguments */ frame->offset = (p - frame->buf); /* Save index to handle errors and skip args */ if (!memcmp(str, "check-client-ip", sz)) { union spoe_data data;