#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#include <string.h>
#include <libamfi.h>
#include "test_support.h"
int main()
{
char* p1 = malloc(10);
bool interposed = (strncmp(p1, "####################", 20) == 0);
const char* amfiBits = getenv("DYLD_AMFI_FAKE");
if ( amfiBits == NULL ) {
FAIL("amfi-interpose: DYLD_AMFI_FAKE not set");
}
#ifdef AMFI_RETURNS_INTERPOSING_FLAG
bool allowInterposing = (strcmp(amfiBits, "0x7F") == 0);
#else
bool allowInterposing = true;
#endif
if ( interposed == allowInterposing )
PASS("Success");
else if ( interposed )
FAIL("amfi-interpose: malloc interposed, but amfi said to block it");
else
FAIL("amfi-interpose: malloc not interposed, but amfi said to allow it");
}