[LTP] [PATCH] lib: fix offset in tst_resm_hexd
Jan Stancek
jstancek@redhat.com
Mon Jan 16 14:33:05 CET 2017
----- Original Message -----
> From: "Cyril Hrubis" <chrubis@suse.cz>
> To: "Jan Stancek" <jstancek@redhat.com>
> Cc: ltp@lists.linux.it
> Sent: Monday, 16 January, 2017 10:26:59 AM
> Subject: Re: [PATCH] lib: fix offset in tst_resm_hexd
>
> 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 <jstancek@redhat.com>
> > ---
> > 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.
Pushed.
>
> --
> Cyril Hrubis
> chrubis@suse.cz
>
More information about the ltp
mailing list