fixed vaddr permitting bad pointers
added extra bound checks to syscall