// RUN: %clangxx_msan -g %s -o %t
// RUN: not %run %t 2>&1 | FileCheck %s
// RUN: %t 1

#include <stdio.h>
#include <stdlib.h>

int test_fread() {
  FILE *f = fopen("/dev/zero", "r");
  char c;
  unsigned read = fread(&c, sizeof(c), 1, f);
  fclose(f);
  if (c == '1') // No error
    return 1;
  return 0;
}

int test_fwrite() {
  FILE *f = fopen("/dev/null", "w");
  char c;
  if (fwrite(&c, sizeof(c), 1, f) != sizeof(c)) // BOOM
    return 1;
  return fclose(f);
}

int main(int argc, char *argv[]) {
  if (argc > 1)
    test_fread();
  else
    test_fwrite();
  return 0;
}

// CHECK: Uninitialized bytes in __interceptor_fwrite at offset 0 inside
