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 Song int 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