From 6556f9ecad1757e7a2ca9dba6afc7a0374ea7c0e Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Wed, 23 Nov 2016 17:32:09 +0000 Subject: [PATCH] regress: hplayback: Do not tolerate hm_rv_any values out of range Signed-off-by: Ian Jackson --- regress/hplayback.c.m4 | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/regress/hplayback.c.m4 b/regress/hplayback.c.m4 index 481d37b..916f97d 100644 --- a/regress/hplayback.c.m4 +++ b/regress/hplayback.c.m4 @@ -37,6 +37,8 @@ m4_include(hmacros.i4) #include #include +#include + #include "harness.h" @@ -348,8 +350,11 @@ int H$1(hm_args_massage($3,void)) { m4_define(`hm_rv_len',`hm_rv_succfail') m4_define(`hm_rv_must',`hm_rv_succfail') m4_define(`hm_rv_any',` - r= strtoul(vb2.buf+hm_r_offset,&ep,10); - if (*ep && *ep!=hm_squote hm_squote) Psyntax("return value not E* or positive number"); + unsigned long ul_r= strtoul(vb2.buf+hm_r_offset,&ep,10); + if (ul_r < 0 || ul_r > INT_MAX || + (*ep && *ep!=hm_squote hm_squote)) + Psyntax("return value not E* or positive number"); + r= ul_r; vb2.used= ep - (char*)vb2.buf; ') m4_define(`hm_rv_fd',`hm_rv_any') -- 2.30.2