1// cc_fuzz_target test for sshsig verification. 2 3#include <stddef.h> 4#include <stdio.h> 5#include <stdint.h> 6#include <stdlib.h> 7#include <string.h> 8 9extern "C" { 10 11#include "includes.h" 12#include "sshkey.h" 13#include "ssherr.h" 14#include "sshbuf.h" 15#include "sshsig.h" 16#include "log.h" 17 18int LLVMFuzzerTestOneInput(const uint8_t* sig, size_t slen) 19{ 20 static const char *data = "If everyone started announcing his nose had " 21 "run away, I don���t know how it would all end"; 22 struct sshbuf *signature = sshbuf_from(sig, slen); 23 struct sshbuf *message = sshbuf_from(data, strlen(data)); 24 struct sshkey *k = NULL; 25 struct sshkey_sig_details *details = NULL; 26 extern char *__progname; 27 28 log_init(__progname, SYSLOG_LEVEL_QUIET, SYSLOG_FACILITY_USER, 1); 29 sshsig_verifyb(signature, message, "castle", &k, &details); 30 sshkey_sig_details_free(details); 31 sshkey_free(k); 32 sshbuf_free(signature); 33 sshbuf_free(message); 34 return 0; 35} 36 37} // extern 38