Coverage Report

Created: 2022-01-14 08:07

/src/botan/src/fuzzer/os2ecp.cpp
Line
Count
Source
1
/*
2
* (C) 2015,2016 Jack Lloyd
3
*
4
* Botan is released under the Simplified BSD License (see license.txt)
5
*/
6
#include "fuzzers.h"
7
#include <botan/ec_group.h>
8
#include <botan/point_gfp.h>
9
10
namespace {
11
12
void check_os2ecp(const Botan::EC_Group& group, const uint8_t in[], size_t len)
13
12.0k
   {
14
12.0k
   try
15
12.0k
      {
16
12.0k
      Botan::PointGFp point = group.OS2ECP(in, len);
17
12.0k
      }
18
12.0k
   catch(Botan::Exception& e) {}
19
12.0k
   }
20
21
}
22
23
void fuzz(const uint8_t in[], size_t len)
24
1.53k
   {
25
1.53k
   if(len >= 256)
26
21
      return;
27
28
1.51k
   static Botan::EC_Group p192("secp192r1");
29
1.51k
   static Botan::EC_Group p224("secp224r1");
30
1.51k
   static Botan::EC_Group p256("secp256r1");
31
1.51k
   static Botan::EC_Group p384("secp384r1");
32
1.51k
   static Botan::EC_Group p521("secp521r1");
33
1.51k
   static Botan::EC_Group bp256("brainpool256r1");
34
1.51k
   static Botan::EC_Group bp512("brainpool512r1");
35
36
1.51k
   check_os2ecp(p192, in, len);
37
1.51k
   check_os2ecp(p224, in, len);
38
1.51k
   check_os2ecp(p256, in, len);
39
1.51k
   check_os2ecp(p384, in, len);
40
1.51k
   check_os2ecp(p521, in, len);
41
1.51k
   check_os2ecp(p521, in, len);
42
1.51k
   check_os2ecp(bp256, in, len);
43
1.51k
   check_os2ecp(bp512, in, len);
44
1.51k
   }