extras: CI: Bump windows images
[vlc.git] / test / vlc-demux-libfuzzer.c
blob44995d147d78e305f3f787091987bb52909abbf9
1 /**
2 * @file vlc-demux-test.c
3 */
4 /*****************************************************************************
5 * Copyright © 2016 Rémi Denis-Courmont
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
12 * Rémi Denis-Courmont reserves the right to redistribute this file under
13 * the terms of the GNU Lesser General Public License as published by the
14 * the Free Software Foundation; either version 2.1 or the License, or
15 * (at his option) any later version.
17 * This program is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
22 * You should have received a copy of the GNU General Public License
23 * along with this program; if not, write to the Free Software Foundation,
24 * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
25 *****************************************************************************/
27 #ifdef HAVE_CONFIG_H
28 # include "config.h"
29 #endif
31 #include <stdint.h>
32 #include <stdlib.h>
33 #include <string.h>
34 #include "src/input/demux-run.h"
36 int LLVMFuzzerInitialize(int *argc, char ***argv);
37 int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size);
39 static struct vlc_run_args args;
40 static libvlc_instance_t *vlc;
42 int LLVMFuzzerInitialize(int *argc, char ***argv)
44 (void) argc; (void) argv;
46 vlc_run_args_init(&args);
47 vlc = libvlc_create(&args);
49 return vlc ? 0 : -1;
52 int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
54 libvlc_demux_process_memory(vlc, &args, data, size);
55 return 0;