34 lines
655 B
C++
34 lines
655 B
C++
#include <stddef.h>
|
|
#include <stdio.h>
|
|
#include <stdint.h>
|
|
#include <string.h>
|
|
#include <stdlib.h>
|
|
|
|
extern "C" {
|
|
|
|
#include "auth-options.h"
|
|
|
|
int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
|
|
{
|
|
char *cp = (char *)malloc(size + 1);
|
|
struct sshauthopt *opts = NULL, *merge = NULL, *add = sshauthopt_new();
|
|
|
|
if (cp == NULL || add == NULL)
|
|
goto out;
|
|
memcpy(cp, data, size);
|
|
cp[size] = '\0';
|
|
if ((opts = sshauthopt_parse(cp, NULL)) == NULL)
|
|
goto out;
|
|
if ((merge = sshauthopt_merge(opts, add, NULL)) == NULL)
|
|
goto out;
|
|
|
|
out:
|
|
free(cp);
|
|
sshauthopt_free(add);
|
|
sshauthopt_free(opts);
|
|
sshauthopt_free(merge);
|
|
return 0;
|
|
}
|
|
|
|
} // extern "C"
|