// RUN: %clangxx_msan -O0 -g %s -o %t && %run %t // RUN: %clangxx_msan -O3 -g %s -o %t && %run %t #include <assert.h> #include <fcntl.h> #include <sound/asound.h> #include <stdio.h> #include <stdlib.h> #include <sys/ioctl.h> #include <sys/socket.h> #include <unistd.h> #include <sanitizer/msan_interface.h> int main(int argc, char **argv) { int fd = open("/dev/snd/controlC0", O_RDONLY); if (fd < 0) { printf("Unable to open sound device."); return 0; } const unsigned sz = sizeof(snd_ctl_card_info); void *info = malloc(sz + 1); assert(__msan_test_shadow(info, sz) == 0); assert(ioctl(fd, SNDRV_CTL_IOCTL_CARD_INFO, info) >= 0); assert(__msan_test_shadow(info, sz + 1) == sz); close(fd); free(info); return 0; }