From mboxrd@z Thu Jan 1 00:00:00 1970 From: Cyril Hrubis Date: Mon, 16 Jan 2017 10:26:59 +0100 Subject: [LTP] [PATCH] lib: fix offset in tst_resm_hexd In-Reply-To: References: Message-ID: <20170116092659.GA20956@rei.lan> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: ltp@lists.linux.it Hi! > Commit f72ca5b9c484 "lib: add tst_res_hexd for newlib" > broke tst_resm_hexd when I moved "offset = strlen(tmesg)" > before macro that expands varargs. > > Fix it by moving offset initialisation after EXPAND_VAR_ARGS. > > Signed-off-by: Jan Stancek > --- > lib/tst_res.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/lib/tst_res.c b/lib/tst_res.c > index 261dec0fbba8..61daaeb4944e 100644 > --- a/lib/tst_res.c > +++ b/lib/tst_res.c > @@ -509,7 +509,7 @@ void tst_resm_hexd_(const char *file, const int lineno, int ttype, > char tmesg[USERMESG]; > static const size_t symb_num = 2; /* xx */ > static const size_t size_max = 16; > - size_t offset = strlen(tmesg); > + size_t offset; > size_t i; > char *pmesg = tmesg; > tst_res_func_t res_func; > @@ -520,6 +520,7 @@ void tst_resm_hexd_(const char *file, const int lineno, int ttype, > res_func = tst_res__; > > EXPAND_VAR_ARGS(tmesg, arg_fmt, USERMESG); > + offset = strlen(tmesg); > > if (size > size_max || size == 0 || > (offset + size * (symb_num + 1)) >= USERMESG) Good catch. Thanks for fixing this, acked. -- Cyril Hrubis chrubis@suse.cz