From c31552f2d8bed3f5cefea9444a0506f9439e42cd Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sun, 27 Nov 2016 21:32:01 +0000 Subject: [PATCH] regress: fuzzraw: Fix select Pfdset Signed-off-by: Ian Jackson --- regress/hplayback.c.m4 | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/regress/hplayback.c.m4 b/regress/hplayback.c.m4 index 18cbd0f..695b9a2 100644 --- a/regress/hplayback.c.m4 +++ b/regress/hplayback.c.m4 @@ -195,16 +195,19 @@ static void Pfdset(fd_set *set, int max) { if (vb2.buf[vb2.used++] != hm_squote[hm_squote) Psyntax("fd set start not ["); FD_ZERO(set); - if (vb2.buf[vb2.used] == hm_squote]hm_squote) { vb2.used++; return; } - for (;;) { - ul= strtoul(vb2.buf+vb2.used,&ep,10); - if (ul>=max) Psyntax("fd set member > max"); - if (ep == (char*)vb2.buf+vb2.used) Psyntax("empty entry in fd set"); - FD_SET(ul,set); - vb2.used= ep - (char*)vb2.buf; - c= vb2.buf[vb2.used++]; - if (c == hm_squote]hm_squote) break; - if (c != hm_squote,hm_squote) Psyntax("fd set separator not ,"); + if (vb2.buf[vb2.used] == hm_squote]hm_squote) { + vb2.used++; + } else { + for (;;) { + ul= strtoul(vb2.buf+vb2.used,&ep,10); + if (ul>=max) Psyntax("fd set member > max"); + if (ep == (char*)vb2.buf+vb2.used) Psyntax("empty entry in fd set"); + FD_SET(ul,set); + vb2.used= ep - (char*)vb2.buf; + c= vb2.buf[vb2.used++]; + if (c == hm_squote]hm_squote) break; + if (c != hm_squote,hm_squote) Psyntax("fd set separator not ,"); + } } uint16_t accum; -- 2.30.2