summaryrefslogtreecommitdiffstats
path: root/src/udev/fido_id/fuzz-fido-id-desc.c
blob: dd2ae5b3acb404d1be486550d8ffc24c2fcc50ee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/* SPDX-License-Identifier: LGPL-2.1-or-later */

#include <linux/hid.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>

#include "fido_id_desc.h"
#include "fuzz.h"
#include "log.h"

int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
        /* We don't want to fill the logs with messages about parse errors.
         * Disable most logging if not running standalone */
        if (!getenv("SYSTEMD_LOG_LEVEL"))
                log_set_max_level(LOG_CRIT);

        if (outside_size_range(size, 0, HID_MAX_DESCRIPTOR_SIZE))
                return 0;

        (void) is_fido_security_token_desc(data, size);

        return 0;
}