From 4f35e2f37ae5ed63fbc063534cbd862ea6c3914f Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sun, 27 Nov 2016 21:46:24 +0000 Subject: [PATCH] regress: fuzzraw: work on fixing Paddr Signed-off-by: Ian Jackson --- regress/hfuzzraw.c.m4 | 1 + regress/hplayback.c.m4 | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/regress/hfuzzraw.c.m4 b/regress/hfuzzraw.c.m4 index 1b8d019..0a23de6 100644 --- a/regress/hfuzzraw.c.m4 +++ b/regress/hfuzzraw.c.m4 @@ -145,6 +145,7 @@ static void Paddr(struct sockaddr *addr, int *lenr) { P_READ(l); if (l<0 || l>=sizeof(buf)-1) Pformat("bad addr len"); + P_read(buf,l,"addrtext"); buf[l]= 0; P_READ(port); r= adns_text2addr(buf,port, adns_qf_addrlit_scope_numeric, addr, &sl); diff --git a/regress/hplayback.c.m4 b/regress/hplayback.c.m4 index 695b9a2..dc7080f 100644 --- a/regress/hplayback.c.m4 +++ b/regress/hplayback.c.m4 @@ -291,6 +291,14 @@ static void Paddr(struct sockaddr *addr, int *lenr) { if (*ep && *ep != ' ') Psyntax("invalid port (bad syntax)"); if (ul >= 65536) Psyntax("port too large"); + if (Tfuzzrawfile) { + int tl = strlen(p); + FR_WRITE(tl); + FR_write(p,tl); + int port_int = ul; + FR_WRITE(port_int); + } + a.len= sizeof(a.addr); err= adns_text2addr(p, (int)ul, 0, &a.addr.sa,&a.len); if (err) Psyntax("invalid address"); -- 2.30.2