brintos

brintos / llvm-project-archived public Read only

0
0
Text · 629 B · 5a7dfe9 Raw
29 lines · cpp
1// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.2// See https://llvm.org/LICENSE.txt for license information.3// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception4 5// Tests -trace_malloc6#include <assert.h>7#include <cstddef>8#include <cstdint>9#include <cstdlib>10#include <iostream>11 12int *Ptr;13 14extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {15  if (!Size) return 0;16  if (*Data == 1) {17    delete Ptr;18    Ptr = nullptr;19  } else if (*Data == 2) {20    delete Ptr;21    Ptr = new int;22  } else if (*Data == 3) {23    if (!Ptr)24      Ptr = new int;25  }26  return 0;27}28 29