1*d21b3d34SFangrui Song // RUN: %clangxx_msan -O0 -g %s -o %t && %run %t 2*d21b3d34SFangrui Song 3*d21b3d34SFangrui Song #ifndef __FreeBSD__ 4*d21b3d34SFangrui Song #include <utmp.h> 5*d21b3d34SFangrui Song #endif 6*d21b3d34SFangrui Song #include <utmpx.h> 7*d21b3d34SFangrui Song #include <sanitizer/msan_interface.h> 8*d21b3d34SFangrui Song main(void)9*d21b3d34SFangrui Songint main(void) { 10*d21b3d34SFangrui Song #ifndef __FreeBSD__ 11*d21b3d34SFangrui Song setutent(); 12*d21b3d34SFangrui Song while (struct utmp *ut = getutent()) 13*d21b3d34SFangrui Song __msan_check_mem_is_initialized(ut, sizeof(*ut)); 14*d21b3d34SFangrui Song endutent(); 15*d21b3d34SFangrui Song #endif 16*d21b3d34SFangrui Song 17*d21b3d34SFangrui Song setutxent(); 18*d21b3d34SFangrui Song while (struct utmpx *utx = getutxent()) 19*d21b3d34SFangrui Song __msan_check_mem_is_initialized(utx, sizeof(*utx)); 20*d21b3d34SFangrui Song endutxent(); 21*d21b3d34SFangrui Song } 22