Syscall param poll(ufds.fd) points to uninitialised byte(s)
   ...
   by 0x........: main (badpoll.c:22)
 Address 0x........ is 8 bytes inside a block of size 15 alloc'd
   at 0x........: malloc (vg_replace_malloc.c:...)
   by 0x........: main (badpoll.c:12)

Syscall param poll(ufds.reventss) points to unaddressable byte(s)
   ...
   by 0x........: main (badpoll.c:22)
 Address 0x........ is 0 bytes after a block of size 15 alloc'd
   at 0x........: malloc (vg_replace_malloc.c:...)
   by 0x........: main (badpoll.c:12)

