aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/contrib/examples/highlighter/fuzz.c
blob: e3081570a9cb8f647d55e6d6ed5a6f8a6c338508 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright (C) 2015-2019 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved.
 */

#include <stdlib.h>
#include <string.h>
#include "highlighter.h"

int LLVMFuzzerTestOneInput(const char *data, size_t size)
{
	char *str = strndup(data, size);
	if (!str)
		return 0;
	struct highlight_span *spans = highlight_config(str);
	if (!spans)
		return 0;
	for (struct highlight_span *span = spans; span->type != HighlightEnd; ++span);
	free(spans);
	free(str);
	return 0;
}