brintos

brintos / llvm-project-archived public Read only

0
0
Text · 637 B · 9097756 Raw
32 lines · cpp
1#include <Windows.h>2#include <stdio.h>3#include <sanitizer/allocator_interface.h>4#include <psapi.h>5 6// RUN: %clang_cl_asan %Od %s %Fe%t7// RUN: %t8// REQUIRES: asan-64-bits9 10size_t GetRSS() {11  PROCESS_MEMORY_COUNTERS counters;12  if (!GetProcessMemoryInfo(GetCurrentProcess(), &counters, sizeof(counters)))13    return 0;14  return counters.WorkingSetSize;15}16 17int main(){18    for (int i = 0; i < 1000; i++) {19        void* a = malloc(1000);20        free(a);21    }22    size_t rss_pre  = GetRSS();23    __sanitizer_purge_allocator();24    size_t rss_post = GetRSS();25 26    if (rss_pre <= rss_post){27        return -1;28    }29 30    return 0;31}32