chiark / gitweb /
regress: fuzzraw: fixes and improvements to Paddr and Pbytes
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 27 Nov 2016 21:55:28 +0000 (21:55 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 11 Jun 2020 15:13:02 +0000 (16:13 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
regress/hfuzzraw.c.m4
regress/hplayback.c.m4

index 0a23de69dac948ab047949de87b270d30f552eda..82293553e55dfe61213779141fda75042fbd4843 100644 (file)
@@ -138,28 +138,28 @@ void T_gettimeofday_hook(void) {
 }
 
 static void Paddr(struct sockaddr *addr, int *lenr) {
-  int l, r;
+  int al, r;
   uint16_t port;
   char buf[512];
   socklen_t sl = *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(al);
+  if (al<0 || al>=sizeof(buf)-1) Pformat("bad addr len");
+  P_read(buf,al,"addrtext");
+  buf[al]= 0;
   P_READ(port);
   r= adns_text2addr(buf,port, adns_qf_addrlit_scope_numeric, addr, &sl);
   if (r==EINVAL) Pformat("bad addr text");
-  assert(r==ENOSPC);
+  assert(r==0 || r==ENOSPC);
   *lenr = sl;
 }
 
 static int Pbytes(byte *buf, int maxlen) {
-  int l;
-  P_READ(l);
-  if (l<0 || l>maxlen) Pformat("bad byte block len");
-  P_read(buf, l, "bytes");
-  return l;
+  int bl;
+  P_READ(bl);
+  if (bl<0 || bl>maxlen) Pformat("bad byte block len");
+  P_read(buf, bl, "bytes");
+  return bl;
 }
 
 static void Pfdset(fd_set *set, int max, int *r_io) {
@@ -264,8 +264,7 @@ int H$1(hm_args_massage($3,void)) {
   }
  ')
  m4_define(`hm_rv_len',`
-  hm_rv_any
-  if (r>($'`1)) Pformat("syscall length return is excessive");
+  hm_rv_succfail
  ')
  m4_define(`hm_rv_must',`
   r= 0;
index dc7080f386b98b37c26921dd3f167a27fee9a9fa..be46e083e0610be311a41856699d2b20f3452e52 100644 (file)
@@ -295,8 +295,8 @@ static void Paddr(struct sockaddr *addr, int *lenr) {
     int tl = strlen(p);
     FR_WRITE(tl);
     FR_write(p,tl);
-    int port_int = ul;
-    FR_WRITE(port_int);
+    uint16_t port16 = ul;
+    FR_WRITE(port16);
   }
 
   a.len= sizeof(a.addr);