fuzz_zscanner.c 1009 Bytes
Newer Older
1
/*  Copyright (C) 2018 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
2 3 4 5 6 7 8 9 10 11 12 13

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
14
    along with this program.  If not, see <https://www.gnu.org/licenses/>.
15 16 17 18
*/

#include <stdint.h>

19
#include "libzscanner/scanner.h"
20 21 22

int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
{
23 24 25 26 27
	zs_scanner_t s;
	if (zs_init(&s, ".", 1, 0) == 0 &&
	    zs_set_input_string(&s, (const char *)data, size) == 0) {
		zs_parse_all(&s);
	}
28 29 30 31
	zs_deinit(&s);
	
	return 0;
}