From: Ian Jackson Date: Sun, 27 Nov 2016 21:32:01 +0000 (+0000) Subject: regress: fuzzraw: Fix select Pfdset X-Git-Tag: adns-1.6.0~47 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=c31552f2d8bed3f5cefea9444a0506f9439e42cd;p=adns.git regress: fuzzraw: Fix select Pfdset Signed-off-by: Ian Jackson --- 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;