blob: ba2b068f741d445c228065b70c9bba76a4437b5d [file] [log] [blame]
George Karpenkov10ab2ac2017-08-21 23:25:50 +00001// This file is distributed under the University of Illinois Open Source
2// License. See LICENSE.TXT for details.
3
4// Test that we don't creash in case of bad strcmp params.
5#include <cstddef>
6#include <cstdint>
7#include <cstring>
8
9static volatile int Sink;
10
11extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {
12 if (Size != 10) return 0;
13 // Data is not zero-terminated, so this call is bad.
14 // Still, there are cases when such calles appear, see e.g.
15 // https://bugs.llvm.org/show_bug.cgi?id=32357
16 Sink = strcmp(reinterpret_cast<const char*>(Data), "123456789");
17 return 0;
18}
19