12d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines// RUN: %clangxx_msan -m64 -O0 %s -o %t && %run %t 2>&1 22d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines// RUN: %clangxx_msan -m64 -O0 -D_FILE_OFFSET_BITS=64 %s -o %t && %run %t 2>&1 32d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines// RUN: %clangxx_msan -m64 -O3 %s -o %t && %run %t 2>&1 42d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines 52d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines#include <assert.h> 62d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines#include <errno.h> 72d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines#include <net/if.h> 82d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines#include <stdio.h> 92d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines#include <string.h> 102d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines 112d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines#include <sanitizer/msan_interface.h> 122d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines 132d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hinesint main(int argc, char *argv[]) { 142d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines char ifname[IF_NAMESIZE + 1]; 152d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines assert(0 == __msan_test_shadow(ifname, sizeof(ifname))); 162d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines if (!if_indextoname(1, ifname)) { 172d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines assert(errno == ENXIO); 182d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines printf("No network interfaces found.\n"); 192d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines return 0; 202d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines } 212d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines assert(strlen(ifname) + 1 == __msan_test_shadow(ifname, sizeof(ifname))); 222d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines return 0; 232d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines} 24