Add a fuzzer for the SSL_CTX API.
This is not a complete fuzzer, even for SSL_CTX, but it's a start. Written in memory of c-ares[1]. [1] https://twitter.com/hanno/status/781506296906444800 Change-Id: I64b02c60f35b9057201df2cc325ebb7a84a0229d Reviewed-on: https://boringssl-review.googlesource.com/11423 Reviewed-by: Adam Langley <alangley@gmail.com> Commit-Queue: Adam Langley <alangley@gmail.com> CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
This commit is contained in:
parent
8c29e7dfb4
commit
3871dc9e39
19
FUZZING.md
19
FUZZING.md
@ -30,15 +30,16 @@ The arguments to `jobs` and `workers` should be the number of cores that you wis
|
||||
|
||||
The recommended values of `max_len` for each test are:
|
||||
|
||||
| Test | `max_len` value |
|
||||
|------------|-----------------|
|
||||
| `cert` | 3072 |
|
||||
| `client` | 20000 |
|
||||
| `pkcs8` | 2048 |
|
||||
| `privkey` | 2048 |
|
||||
| `server` | 4096 |
|
||||
| `spki` | 1024 |
|
||||
| `read_pem` | 512 |
|
||||
| Test | `max_len` value |
|
||||
|---------------|-----------------|
|
||||
| `cert` | 3072 |
|
||||
| `client` | 20000 |
|
||||
| `pkcs8` | 2048 |
|
||||
| `privkey` | 2048 |
|
||||
| `server` | 4096 |
|
||||
| `spki` | 1024 |
|
||||
| `read_pem` | 512 |
|
||||
| `ssl_ctx_api` | 256 |
|
||||
|
||||
These were determined by rounding up the length of the largest case in the corpus.
|
||||
|
||||
|
@ -64,3 +64,13 @@ add_executable(
|
||||
|
||||
target_link_libraries(read_pem Fuzzer)
|
||||
target_link_libraries(read_pem crypto)
|
||||
|
||||
add_executable(
|
||||
ssl_ctx_api
|
||||
|
||||
ssl_ctx_api.cc
|
||||
)
|
||||
|
||||
target_link_libraries(ssl_ctx_api Fuzzer)
|
||||
target_link_libraries(ssl_ctx_api crypto)
|
||||
target_link_libraries(ssl_ctx_api ssl)
|
||||
|
473
fuzz/ssl_ctx_api.cc
Normal file
473
fuzz/ssl_ctx_api.cc
Normal file
@ -0,0 +1,473 @@
|
||||
/* Copyright (c) 2016, Google Inc.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
|
||||
* SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
|
||||
* OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
|
||||
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
|
||||
|
||||
#include <functional>
|
||||
#include <vector>
|
||||
|
||||
#include <assert.h>
|
||||
|
||||
#include <openssl/bytestring.h>
|
||||
#include <openssl/evp.h>
|
||||
#include <openssl/rsa.h>
|
||||
#include <openssl/ssl.h>
|
||||
#include <openssl/stack.h>
|
||||
#include <openssl/x509.h>
|
||||
|
||||
#include "../crypto/internal.h"
|
||||
|
||||
static const uint8_t kCertificateDER[] = {
|
||||
0x30, 0x82, 0x02, 0xff, 0x30, 0x82, 0x01, 0xe7, 0xa0, 0x03, 0x02, 0x01,
|
||||
0x02, 0x02, 0x11, 0x00, 0xb1, 0x84, 0xee, 0x34, 0x99, 0x98, 0x76, 0xfb,
|
||||
0x6f, 0xb2, 0x15, 0xc8, 0x47, 0x79, 0x05, 0x9b, 0x30, 0x0d, 0x06, 0x09,
|
||||
0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30,
|
||||
0x12, 0x31, 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x07,
|
||||
0x41, 0x63, 0x6d, 0x65, 0x20, 0x43, 0x6f, 0x30, 0x1e, 0x17, 0x0d, 0x31,
|
||||
0x35, 0x31, 0x31, 0x30, 0x37, 0x30, 0x30, 0x32, 0x34, 0x35, 0x36, 0x5a,
|
||||
0x17, 0x0d, 0x31, 0x36, 0x31, 0x31, 0x30, 0x36, 0x30, 0x30, 0x32, 0x34,
|
||||
0x35, 0x36, 0x5a, 0x30, 0x12, 0x31, 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55,
|
||||
0x04, 0x0a, 0x13, 0x07, 0x41, 0x63, 0x6d, 0x65, 0x20, 0x43, 0x6f, 0x30,
|
||||
0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
|
||||
0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30,
|
||||
0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xce, 0x47, 0xcb, 0x11,
|
||||
0xbb, 0xd2, 0x9d, 0x8e, 0x9e, 0xd2, 0x1e, 0x14, 0xaf, 0xc7, 0xea, 0xb6,
|
||||
0xc9, 0x38, 0x2a, 0x6f, 0xb3, 0x7e, 0xfb, 0xbc, 0xfc, 0x59, 0x42, 0xb9,
|
||||
0x56, 0xf0, 0x4c, 0x3f, 0xf7, 0x31, 0x84, 0xbe, 0xac, 0x03, 0x9e, 0x71,
|
||||
0x91, 0x85, 0xd8, 0x32, 0xbd, 0x00, 0xea, 0xac, 0x65, 0xf6, 0x03, 0xc8,
|
||||
0x0f, 0x8b, 0xfd, 0x6e, 0x58, 0x88, 0x04, 0x41, 0x92, 0x74, 0xa6, 0x57,
|
||||
0x2e, 0x8e, 0x88, 0xd5, 0x3d, 0xda, 0x14, 0x3e, 0x63, 0x88, 0x22, 0xe3,
|
||||
0x53, 0xe9, 0xba, 0x39, 0x09, 0xac, 0xfb, 0xd0, 0x4c, 0xf2, 0x3c, 0x20,
|
||||
0xd6, 0x97, 0xe6, 0xed, 0xf1, 0x62, 0x1e, 0xe5, 0xc9, 0x48, 0xa0, 0xca,
|
||||
0x2e, 0x3c, 0x14, 0x5a, 0x82, 0xd4, 0xed, 0xb1, 0xe3, 0x43, 0xc1, 0x2a,
|
||||
0x59, 0xa5, 0xb9, 0xc8, 0x48, 0xa7, 0x39, 0x23, 0x74, 0xa7, 0x37, 0xb0,
|
||||
0x6f, 0xc3, 0x64, 0x99, 0x6c, 0xa2, 0x82, 0xc8, 0xf6, 0xdb, 0x86, 0x40,
|
||||
0xce, 0xd1, 0x85, 0x9f, 0xce, 0x69, 0xf4, 0x15, 0x2a, 0x23, 0xca, 0xea,
|
||||
0xb7, 0x7b, 0xdf, 0xfb, 0x43, 0x5f, 0xff, 0x7a, 0x49, 0x49, 0x0e, 0xe7,
|
||||
0x02, 0x51, 0x45, 0x13, 0xe8, 0x90, 0x64, 0x21, 0x0c, 0x26, 0x2b, 0x5d,
|
||||
0xfc, 0xe4, 0xb5, 0x86, 0x89, 0x43, 0x22, 0x4c, 0xf3, 0x3b, 0xf3, 0x09,
|
||||
0xc4, 0xa4, 0x10, 0x80, 0xf2, 0x46, 0xe2, 0x46, 0x8f, 0x76, 0x50, 0xbf,
|
||||
0xaf, 0x2b, 0x90, 0x1b, 0x78, 0xc7, 0xcf, 0xc1, 0x77, 0xd0, 0xfb, 0xa9,
|
||||
0xfb, 0xc9, 0x66, 0x5a, 0xc5, 0x9b, 0x31, 0x41, 0x67, 0x01, 0xbe, 0x33,
|
||||
0x10, 0xba, 0x05, 0x58, 0xed, 0x76, 0x53, 0xde, 0x5d, 0xc1, 0xe8, 0xbb,
|
||||
0x9f, 0xf1, 0xcd, 0xfb, 0xdf, 0x64, 0x7f, 0xd7, 0x18, 0xab, 0x0f, 0x94,
|
||||
0x28, 0x95, 0x4a, 0xcc, 0x6a, 0xa9, 0x50, 0xc7, 0x05, 0x47, 0x10, 0x41,
|
||||
0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x50, 0x30, 0x4e, 0x30, 0x0e, 0x06,
|
||||
0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x05,
|
||||
0xa0, 0x30, 0x13, 0x06, 0x03, 0x55, 0x1d, 0x25, 0x04, 0x0c, 0x30, 0x0a,
|
||||
0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x01, 0x30, 0x0c,
|
||||
0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00,
|
||||
0x30, 0x19, 0x06, 0x03, 0x55, 0x1d, 0x11, 0x04, 0x12, 0x30, 0x10, 0x82,
|
||||
0x0e, 0x66, 0x75, 0x7a, 0x7a, 0x2e, 0x62, 0x6f, 0x72, 0x69, 0x6e, 0x67,
|
||||
0x73, 0x73, 0x6c, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
|
||||
0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x92,
|
||||
0xde, 0xef, 0x96, 0x06, 0x7b, 0xff, 0x71, 0x7d, 0x4e, 0xa0, 0x7d, 0xae,
|
||||
0xb8, 0x22, 0xb4, 0x2c, 0xf7, 0x96, 0x9c, 0x37, 0x1d, 0x8f, 0xe7, 0xd9,
|
||||
0x47, 0xff, 0x3f, 0xe9, 0x35, 0x95, 0x0e, 0xdd, 0xdc, 0x7f, 0xc8, 0x8a,
|
||||
0x1e, 0x36, 0x1d, 0x38, 0x47, 0xfc, 0x76, 0xd2, 0x1f, 0x98, 0xa1, 0x36,
|
||||
0xac, 0xc8, 0x70, 0x38, 0x0a, 0x3d, 0x51, 0x8d, 0x0f, 0x03, 0x1b, 0xef,
|
||||
0x62, 0xa1, 0xcb, 0x2b, 0x4a, 0x8c, 0x12, 0x2b, 0x54, 0x50, 0x9a, 0x6b,
|
||||
0xfe, 0xaf, 0xd9, 0xf6, 0xbf, 0x58, 0x11, 0x58, 0x5e, 0xe5, 0x86, 0x1e,
|
||||
0x3b, 0x6b, 0x30, 0x7e, 0x72, 0x89, 0xe8, 0x6b, 0x7b, 0xb7, 0xaf, 0xef,
|
||||
0x8b, 0xa9, 0x3e, 0xb0, 0xcd, 0x0b, 0xef, 0xb0, 0x0c, 0x96, 0x2b, 0xc5,
|
||||
0x3b, 0xd5, 0xf1, 0xc2, 0xae, 0x3a, 0x60, 0xd9, 0x0f, 0x75, 0x37, 0x55,
|
||||
0x4d, 0x62, 0xd2, 0xed, 0x96, 0xac, 0x30, 0x6b, 0xda, 0xa1, 0x48, 0x17,
|
||||
0x96, 0x23, 0x85, 0x9a, 0x57, 0x77, 0xe9, 0x22, 0xa2, 0x37, 0x03, 0xba,
|
||||
0x49, 0x77, 0x40, 0x3b, 0x76, 0x4b, 0xda, 0xc1, 0x04, 0x57, 0x55, 0x34,
|
||||
0x22, 0x83, 0x45, 0x29, 0xab, 0x2e, 0x11, 0xff, 0x0d, 0xab, 0x55, 0xb1,
|
||||
0xa7, 0x58, 0x59, 0x05, 0x25, 0xf9, 0x1e, 0x3d, 0xb7, 0xac, 0x04, 0x39,
|
||||
0x2c, 0xf9, 0xaf, 0xb8, 0x68, 0xfb, 0x8e, 0x35, 0x71, 0x32, 0xff, 0x70,
|
||||
0xe9, 0x46, 0x6d, 0x5c, 0x06, 0x90, 0x88, 0x23, 0x48, 0x0c, 0x50, 0xeb,
|
||||
0x0a, 0xa9, 0xae, 0xe8, 0xfc, 0xbe, 0xa5, 0x76, 0x94, 0xd7, 0x64, 0x22,
|
||||
0x38, 0x98, 0x17, 0xa4, 0x3a, 0xa7, 0x59, 0x9f, 0x1d, 0x3b, 0x75, 0x90,
|
||||
0x1a, 0x81, 0xef, 0x19, 0xfb, 0x2b, 0xb7, 0xa7, 0x64, 0x61, 0x22, 0xa4,
|
||||
0x6f, 0x7b, 0xfa, 0x58, 0xbb, 0x8c, 0x4e, 0x77, 0x67, 0xd0, 0x5d, 0x58,
|
||||
0x76, 0x8a, 0xbb,
|
||||
};
|
||||
|
||||
static const uint8_t kRSAPrivateKeyDER[] = {
|
||||
0x30, 0x82, 0x04, 0xa5, 0x02, 0x01, 0x00, 0x02, 0x82, 0x01, 0x01, 0x00,
|
||||
0xce, 0x47, 0xcb, 0x11, 0xbb, 0xd2, 0x9d, 0x8e, 0x9e, 0xd2, 0x1e, 0x14,
|
||||
0xaf, 0xc7, 0xea, 0xb6, 0xc9, 0x38, 0x2a, 0x6f, 0xb3, 0x7e, 0xfb, 0xbc,
|
||||
0xfc, 0x59, 0x42, 0xb9, 0x56, 0xf0, 0x4c, 0x3f, 0xf7, 0x31, 0x84, 0xbe,
|
||||
0xac, 0x03, 0x9e, 0x71, 0x91, 0x85, 0xd8, 0x32, 0xbd, 0x00, 0xea, 0xac,
|
||||
0x65, 0xf6, 0x03, 0xc8, 0x0f, 0x8b, 0xfd, 0x6e, 0x58, 0x88, 0x04, 0x41,
|
||||
0x92, 0x74, 0xa6, 0x57, 0x2e, 0x8e, 0x88, 0xd5, 0x3d, 0xda, 0x14, 0x3e,
|
||||
0x63, 0x88, 0x22, 0xe3, 0x53, 0xe9, 0xba, 0x39, 0x09, 0xac, 0xfb, 0xd0,
|
||||
0x4c, 0xf2, 0x3c, 0x20, 0xd6, 0x97, 0xe6, 0xed, 0xf1, 0x62, 0x1e, 0xe5,
|
||||
0xc9, 0x48, 0xa0, 0xca, 0x2e, 0x3c, 0x14, 0x5a, 0x82, 0xd4, 0xed, 0xb1,
|
||||
0xe3, 0x43, 0xc1, 0x2a, 0x59, 0xa5, 0xb9, 0xc8, 0x48, 0xa7, 0x39, 0x23,
|
||||
0x74, 0xa7, 0x37, 0xb0, 0x6f, 0xc3, 0x64, 0x99, 0x6c, 0xa2, 0x82, 0xc8,
|
||||
0xf6, 0xdb, 0x86, 0x40, 0xce, 0xd1, 0x85, 0x9f, 0xce, 0x69, 0xf4, 0x15,
|
||||
0x2a, 0x23, 0xca, 0xea, 0xb7, 0x7b, 0xdf, 0xfb, 0x43, 0x5f, 0xff, 0x7a,
|
||||
0x49, 0x49, 0x0e, 0xe7, 0x02, 0x51, 0x45, 0x13, 0xe8, 0x90, 0x64, 0x21,
|
||||
0x0c, 0x26, 0x2b, 0x5d, 0xfc, 0xe4, 0xb5, 0x86, 0x89, 0x43, 0x22, 0x4c,
|
||||
0xf3, 0x3b, 0xf3, 0x09, 0xc4, 0xa4, 0x10, 0x80, 0xf2, 0x46, 0xe2, 0x46,
|
||||
0x8f, 0x76, 0x50, 0xbf, 0xaf, 0x2b, 0x90, 0x1b, 0x78, 0xc7, 0xcf, 0xc1,
|
||||
0x77, 0xd0, 0xfb, 0xa9, 0xfb, 0xc9, 0x66, 0x5a, 0xc5, 0x9b, 0x31, 0x41,
|
||||
0x67, 0x01, 0xbe, 0x33, 0x10, 0xba, 0x05, 0x58, 0xed, 0x76, 0x53, 0xde,
|
||||
0x5d, 0xc1, 0xe8, 0xbb, 0x9f, 0xf1, 0xcd, 0xfb, 0xdf, 0x64, 0x7f, 0xd7,
|
||||
0x18, 0xab, 0x0f, 0x94, 0x28, 0x95, 0x4a, 0xcc, 0x6a, 0xa9, 0x50, 0xc7,
|
||||
0x05, 0x47, 0x10, 0x41, 0x02, 0x03, 0x01, 0x00, 0x01, 0x02, 0x82, 0x01,
|
||||
0x01, 0x00, 0xa8, 0x47, 0xb9, 0x4a, 0x06, 0x47, 0x93, 0x71, 0x3d, 0xef,
|
||||
0x7b, 0xca, 0xb4, 0x7c, 0x0a, 0xe6, 0x82, 0xd0, 0xe7, 0x0d, 0xa9, 0x08,
|
||||
0xf6, 0xa4, 0xfd, 0xd8, 0x73, 0xae, 0x6f, 0x56, 0x29, 0x5e, 0x25, 0x72,
|
||||
0xa8, 0x30, 0x44, 0x73, 0xcf, 0x56, 0x26, 0xb9, 0x61, 0xde, 0x42, 0x81,
|
||||
0xf4, 0xf0, 0x1f, 0x5d, 0xcb, 0x47, 0xf2, 0x26, 0xe9, 0xe0, 0x93, 0x28,
|
||||
0xa3, 0x10, 0x3b, 0x42, 0x1e, 0x51, 0x11, 0x12, 0x06, 0x5e, 0xaf, 0xce,
|
||||
0xb0, 0xa5, 0x14, 0xdd, 0x82, 0x58, 0xa1, 0xa4, 0x12, 0xdf, 0x65, 0x1d,
|
||||
0x51, 0x70, 0x64, 0xd5, 0x58, 0x68, 0x11, 0xa8, 0x6a, 0x23, 0xc2, 0xbf,
|
||||
0xa1, 0x25, 0x24, 0x47, 0xb3, 0xa4, 0x3c, 0x83, 0x96, 0xb7, 0x1f, 0xf4,
|
||||
0x44, 0xd4, 0xd1, 0xe9, 0xfc, 0x33, 0x68, 0x5e, 0xe2, 0x68, 0x99, 0x9c,
|
||||
0x91, 0xe8, 0x72, 0xc9, 0xd7, 0x8c, 0x80, 0x20, 0x8e, 0x77, 0x83, 0x4d,
|
||||
0xe4, 0xab, 0xf9, 0x74, 0xa1, 0xdf, 0xd3, 0xc0, 0x0d, 0x5b, 0x05, 0x51,
|
||||
0xc2, 0x6f, 0xb2, 0x91, 0x02, 0xec, 0xc0, 0x02, 0x1a, 0x5c, 0x91, 0x05,
|
||||
0xf1, 0xe3, 0xfa, 0x65, 0xc2, 0xad, 0x24, 0xe6, 0xe5, 0x3c, 0xb6, 0x16,
|
||||
0xf1, 0xa1, 0x67, 0x1a, 0x9d, 0x37, 0x56, 0xbf, 0x01, 0xd7, 0x3b, 0x35,
|
||||
0x30, 0x57, 0x73, 0xf4, 0xf0, 0x5e, 0xa7, 0xe8, 0x0a, 0xc1, 0x94, 0x17,
|
||||
0xcf, 0x0a, 0xbd, 0xf5, 0x31, 0xa7, 0x2d, 0xf7, 0xf5, 0xd9, 0x8c, 0xc2,
|
||||
0x01, 0xbd, 0xda, 0x16, 0x8e, 0xb9, 0x30, 0x40, 0xa6, 0x6e, 0xbd, 0xcd,
|
||||
0x4d, 0x84, 0x67, 0x4e, 0x0b, 0xce, 0xd5, 0xef, 0xf8, 0x08, 0x63, 0x02,
|
||||
0xc6, 0xc7, 0xf7, 0x67, 0x92, 0xe2, 0x23, 0x9d, 0x27, 0x22, 0x1d, 0xc6,
|
||||
0x67, 0x5e, 0x66, 0xbf, 0x03, 0xb8, 0xa9, 0x67, 0xd4, 0x39, 0xd8, 0x75,
|
||||
0xfa, 0xe8, 0xed, 0x56, 0xb8, 0x81, 0x02, 0x81, 0x81, 0x00, 0xf7, 0x46,
|
||||
0x68, 0xc6, 0x13, 0xf8, 0xba, 0x0f, 0x83, 0xdb, 0x05, 0xa8, 0x25, 0x00,
|
||||
0x70, 0x9c, 0x9e, 0x8b, 0x12, 0x34, 0x0d, 0x96, 0xcf, 0x0d, 0x98, 0x9b,
|
||||
0x8d, 0x9c, 0x96, 0x78, 0xd1, 0x3c, 0x01, 0x8c, 0xb9, 0x35, 0x5c, 0x20,
|
||||
0x42, 0xb4, 0x38, 0xe3, 0xd6, 0x54, 0xe7, 0x55, 0xd6, 0x26, 0x8a, 0x0c,
|
||||
0xf6, 0x1f, 0xe0, 0x04, 0xc1, 0x22, 0x42, 0x19, 0x61, 0xc4, 0x94, 0x7c,
|
||||
0x07, 0x2e, 0x80, 0x52, 0xfe, 0x8d, 0xe6, 0x92, 0x3a, 0x91, 0xfe, 0x72,
|
||||
0x99, 0xe1, 0x2a, 0x73, 0x76, 0xb1, 0x24, 0x20, 0x67, 0xde, 0x28, 0xcb,
|
||||
0x0e, 0xe6, 0x52, 0xb5, 0xfa, 0xfb, 0x8b, 0x1e, 0x6a, 0x1d, 0x09, 0x26,
|
||||
0xb9, 0xa7, 0x61, 0xba, 0xf8, 0x79, 0xd2, 0x66, 0x57, 0x28, 0xd7, 0x31,
|
||||
0xb5, 0x0b, 0x27, 0x19, 0x1e, 0x6f, 0x46, 0xfc, 0x54, 0x95, 0xeb, 0x78,
|
||||
0x01, 0xb6, 0xd9, 0x79, 0x5a, 0x4d, 0x02, 0x81, 0x81, 0x00, 0xd5, 0x8f,
|
||||
0x16, 0x53, 0x2f, 0x57, 0x93, 0xbf, 0x09, 0x75, 0xbf, 0x63, 0x40, 0x3d,
|
||||
0x27, 0xfd, 0x23, 0x21, 0xde, 0x9b, 0xe9, 0x73, 0x3f, 0x49, 0x02, 0xd2,
|
||||
0x38, 0x96, 0xcf, 0xc3, 0xba, 0x92, 0x07, 0x87, 0x52, 0xa9, 0x35, 0xe3,
|
||||
0x0c, 0xe4, 0x2f, 0x05, 0x7b, 0x37, 0xa5, 0x40, 0x9c, 0x3b, 0x94, 0xf7,
|
||||
0xad, 0xa0, 0xee, 0x3a, 0xa8, 0xfb, 0x1f, 0x11, 0x1f, 0xd8, 0x9a, 0x80,
|
||||
0x42, 0x3d, 0x7f, 0xa4, 0xb8, 0x9a, 0xaa, 0xea, 0x72, 0xc1, 0xe3, 0xed,
|
||||
0x06, 0x60, 0x92, 0x37, 0xf9, 0xba, 0xfb, 0x9e, 0xed, 0x05, 0xa6, 0xd4,
|
||||
0x72, 0x68, 0x4f, 0x63, 0xfe, 0xd6, 0x10, 0x0d, 0x4f, 0x0a, 0x93, 0xc6,
|
||||
0xb9, 0xd7, 0xaf, 0xfd, 0xd9, 0x57, 0x7d, 0xcb, 0x75, 0xe8, 0x93, 0x2b,
|
||||
0xae, 0x4f, 0xea, 0xd7, 0x30, 0x0b, 0x58, 0x44, 0x82, 0x0f, 0x84, 0x5d,
|
||||
0x62, 0x11, 0x78, 0xea, 0x5f, 0xc5, 0x02, 0x81, 0x81, 0x00, 0x82, 0x0c,
|
||||
0xc1, 0xe6, 0x0b, 0x72, 0xf1, 0x48, 0x5f, 0xac, 0xbd, 0x98, 0xe5, 0x7d,
|
||||
0x09, 0xbd, 0x15, 0x95, 0x47, 0x09, 0xa1, 0x6c, 0x03, 0x91, 0xbf, 0x05,
|
||||
0x70, 0xc1, 0x3e, 0x52, 0x64, 0x99, 0x0e, 0xa7, 0x98, 0x70, 0xfb, 0xf6,
|
||||
0xeb, 0x9e, 0x25, 0x9d, 0x8e, 0x88, 0x30, 0xf2, 0xf0, 0x22, 0x6c, 0xd0,
|
||||
0xcc, 0x51, 0x8f, 0x5c, 0x70, 0xc7, 0x37, 0xc4, 0x69, 0xab, 0x1d, 0xfc,
|
||||
0xed, 0x3a, 0x03, 0xbb, 0xa2, 0xad, 0xb6, 0xea, 0x89, 0x6b, 0x67, 0x4b,
|
||||
0x96, 0xaa, 0xd9, 0xcc, 0xc8, 0x4b, 0xfa, 0x18, 0x21, 0x08, 0xb2, 0xa3,
|
||||
0xb9, 0x3e, 0x61, 0x99, 0xdc, 0x5a, 0x97, 0x9c, 0x73, 0x6a, 0xb9, 0xf9,
|
||||
0x68, 0x03, 0x24, 0x5f, 0x55, 0x77, 0x9c, 0xb4, 0xbe, 0x7a, 0x78, 0x53,
|
||||
0x68, 0x48, 0x69, 0x53, 0xc8, 0xb1, 0xf5, 0xbf, 0x98, 0x2d, 0x11, 0x1e,
|
||||
0x98, 0xa8, 0x36, 0x50, 0xa0, 0xb1, 0x02, 0x81, 0x81, 0x00, 0x90, 0x88,
|
||||
0x30, 0x71, 0xc7, 0xfe, 0x9b, 0x6d, 0x95, 0x37, 0x6d, 0x79, 0xfc, 0x85,
|
||||
0xe7, 0x44, 0x78, 0xbc, 0x79, 0x6e, 0x47, 0x86, 0xc9, 0xf3, 0xdd, 0xc6,
|
||||
0xec, 0xa9, 0x94, 0x9f, 0x40, 0xeb, 0x87, 0xd0, 0xdb, 0xee, 0xcd, 0x1b,
|
||||
0x87, 0x23, 0xff, 0x76, 0xd4, 0x37, 0x8a, 0xcd, 0xb9, 0x6e, 0xd1, 0x98,
|
||||
0xf6, 0x97, 0x8d, 0xe3, 0x81, 0x6d, 0xc3, 0x4e, 0xd1, 0xa0, 0xc4, 0x9f,
|
||||
0xbd, 0x34, 0xe5, 0xe8, 0x53, 0x4f, 0xca, 0x10, 0xb5, 0xed, 0xe7, 0x16,
|
||||
0x09, 0x54, 0xde, 0x60, 0xa7, 0xd1, 0x16, 0x6e, 0x2e, 0xb7, 0xbe, 0x7a,
|
||||
0xd5, 0x9b, 0x26, 0xef, 0xe4, 0x0e, 0x77, 0xfa, 0xa9, 0xdd, 0xdc, 0xb9,
|
||||
0x88, 0x19, 0x23, 0x70, 0xc7, 0xe1, 0x60, 0xaf, 0x8c, 0x73, 0x04, 0xf7,
|
||||
0x71, 0x17, 0x81, 0x36, 0x75, 0xbb, 0x97, 0xd7, 0x75, 0xb6, 0x8e, 0xbc,
|
||||
0xac, 0x9c, 0x6a, 0x9b, 0x24, 0x89, 0x02, 0x81, 0x80, 0x5a, 0x2b, 0xc7,
|
||||
0x6b, 0x8c, 0x65, 0xdb, 0x04, 0x73, 0xab, 0x25, 0xe1, 0x5b, 0xbc, 0x3c,
|
||||
0xcf, 0x5a, 0x3c, 0x04, 0xae, 0x97, 0x2e, 0xfd, 0xa4, 0x97, 0x1f, 0x05,
|
||||
0x17, 0x27, 0xac, 0x7c, 0x30, 0x85, 0xb4, 0x82, 0x3f, 0x5b, 0xb7, 0x94,
|
||||
0x3b, 0x7f, 0x6c, 0x0c, 0xc7, 0x16, 0xc6, 0xa0, 0xbd, 0x80, 0xb0, 0x81,
|
||||
0xde, 0xa0, 0x23, 0xa6, 0xf6, 0x75, 0x33, 0x51, 0x35, 0xa2, 0x75, 0x55,
|
||||
0x70, 0x4d, 0x42, 0xbb, 0xcf, 0x54, 0xe4, 0xdb, 0x2d, 0x88, 0xa0, 0x7a,
|
||||
0xf2, 0x17, 0xa7, 0xdd, 0x13, 0x44, 0x9f, 0x5f, 0x6b, 0x2c, 0x42, 0x42,
|
||||
0x8b, 0x13, 0x4d, 0xf9, 0x5b, 0xf8, 0x33, 0x42, 0xd9, 0x9e, 0x50, 0x1c,
|
||||
0x7c, 0xbc, 0xfa, 0x62, 0x85, 0x0b, 0xcf, 0x99, 0xda, 0x9e, 0x04, 0x90,
|
||||
0xb2, 0xc6, 0xb2, 0x0a, 0x2a, 0x7c, 0x6d, 0x6a, 0x40, 0xfc, 0xf5, 0x50,
|
||||
0x98, 0x46, 0x89, 0x82, 0x40,
|
||||
};
|
||||
|
||||
struct GlobalState {
|
||||
GlobalState() {
|
||||
const uint8_t *bufp = kRSAPrivateKeyDER;
|
||||
RSA *privkey = d2i_RSAPrivateKey(NULL, &bufp, sizeof(kRSAPrivateKeyDER));
|
||||
assert(privkey != nullptr);
|
||||
|
||||
pkey_.reset(EVP_PKEY_new());
|
||||
EVP_PKEY_assign_RSA(pkey_.get(), privkey);
|
||||
|
||||
bufp = kCertificateDER;
|
||||
cert_.reset(d2i_X509(NULL, &bufp, sizeof(kCertificateDER)));
|
||||
assert(cert_.get() != nullptr);
|
||||
|
||||
X509_up_ref(cert_.get());
|
||||
|
||||
certs_.reset(sk_X509_new_null());
|
||||
sk_X509_push(certs_.get(), cert_.get());
|
||||
}
|
||||
|
||||
bssl::UniquePtr<EVP_PKEY> pkey_;
|
||||
bssl::UniquePtr<X509> cert_;
|
||||
bssl::UniquePtr<STACK_OF(X509)> certs_;
|
||||
};
|
||||
|
||||
static GlobalState g_state;
|
||||
|
||||
static bool GetString(std::string *out, CBS *cbs) {
|
||||
CBS str;
|
||||
if (!CBS_get_u8_length_prefixed(cbs, &str)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
out->assign(reinterpret_cast<const char *>(CBS_data(&str)), CBS_len(&str));
|
||||
return true;
|
||||
}
|
||||
|
||||
static const std::function<void(SSL_CTX *, CBS *)> kAPIs[] = {
|
||||
[](SSL_CTX *ctx, CBS *cbs) {
|
||||
uint8_t b;
|
||||
if (!CBS_get_u8(cbs, &b)) {
|
||||
return;
|
||||
}
|
||||
SSL_CTX_set_quiet_shutdown(ctx, b);
|
||||
},
|
||||
[](SSL_CTX *ctx, CBS *cbs) { SSL_CTX_get_quiet_shutdown(ctx); },
|
||||
[](SSL_CTX *ctx, CBS *cbs) {
|
||||
uint16_t version;
|
||||
if (!CBS_get_u16(cbs, &version)) {
|
||||
return;
|
||||
}
|
||||
SSL_CTX_set_min_proto_version(ctx, version);
|
||||
},
|
||||
[](SSL_CTX *ctx, CBS *cbs) {
|
||||
uint16_t version;
|
||||
if (!CBS_get_u16(cbs, &version)) {
|
||||
return;
|
||||
}
|
||||
SSL_CTX_set_max_proto_version(ctx, version);
|
||||
},
|
||||
[](SSL_CTX *ctx, CBS *cbs) {
|
||||
uint32_t options;
|
||||
if (!CBS_get_u32(cbs, &options)) {
|
||||
return;
|
||||
}
|
||||
SSL_CTX_set_options(ctx, options);
|
||||
},
|
||||
[](SSL_CTX *ctx, CBS *cbs) {
|
||||
uint32_t options;
|
||||
if (!CBS_get_u32(cbs, &options)) {
|
||||
return;
|
||||
}
|
||||
SSL_CTX_clear_options(ctx, options);
|
||||
},
|
||||
[](SSL_CTX *ctx, CBS *cbs) { SSL_CTX_get_options(ctx); },
|
||||
[](SSL_CTX *ctx, CBS *cbs) {
|
||||
uint32_t mode;
|
||||
if (!CBS_get_u32(cbs, &mode)) {
|
||||
return;
|
||||
}
|
||||
SSL_CTX_set_mode(ctx, mode);
|
||||
},
|
||||
[](SSL_CTX *ctx, CBS *cbs) {
|
||||
uint32_t mode;
|
||||
if (!CBS_get_u32(cbs, &mode)) {
|
||||
return;
|
||||
}
|
||||
SSL_CTX_clear_mode(ctx, mode);
|
||||
},
|
||||
[](SSL_CTX *ctx, CBS *cbs) { SSL_CTX_get_mode(ctx); },
|
||||
[](SSL_CTX *ctx, CBS *cbs) {
|
||||
SSL_CTX_use_certificate(ctx, g_state.cert_.get());
|
||||
},
|
||||
[](SSL_CTX *ctx, CBS *cbs) {
|
||||
SSL_CTX_use_PrivateKey(ctx, g_state.pkey_.get());
|
||||
},
|
||||
[](SSL_CTX *ctx, CBS *cbs) {
|
||||
SSL_CTX_set1_chain(ctx, g_state.certs_.get());
|
||||
},
|
||||
[](SSL_CTX *ctx, CBS *cbs) {
|
||||
SSL_CTX_add1_chain_cert(ctx, g_state.cert_.get());
|
||||
},
|
||||
[](SSL_CTX *ctx, CBS *cbs) { SSL_CTX_clear_chain_certs(ctx); },
|
||||
[](SSL_CTX *ctx, CBS *cbs) { SSL_CTX_clear_extra_chain_certs(ctx); },
|
||||
[](SSL_CTX *ctx, CBS *cbs) { SSL_CTX_check_private_key(ctx); },
|
||||
[](SSL_CTX *ctx, CBS *cbs) { SSL_CTX_get0_certificate(ctx); },
|
||||
[](SSL_CTX *ctx, CBS *cbs) { SSL_CTX_get0_privatekey(ctx); },
|
||||
[](SSL_CTX *ctx, CBS *cbs) {
|
||||
STACK_OF(X509) * chains;
|
||||
SSL_CTX_get0_chain_certs(ctx, &chains);
|
||||
},
|
||||
[](SSL_CTX *ctx, CBS *cbs) {
|
||||
std::string sct_data;
|
||||
if (!GetString(&sct_data, cbs)) {
|
||||
return;
|
||||
}
|
||||
|
||||
SSL_CTX_set_signed_cert_timestamp_list(
|
||||
ctx, reinterpret_cast<const uint8_t *>(sct_data.data()),
|
||||
sct_data.size());
|
||||
},
|
||||
[](SSL_CTX *ctx, CBS *cbs) {
|
||||
std::string ocsp_data;
|
||||
if (!GetString(&ocsp_data, cbs)) {
|
||||
return;
|
||||
}
|
||||
|
||||
SSL_CTX_set_signed_cert_timestamp_list(
|
||||
ctx, reinterpret_cast<const uint8_t *>(ocsp_data.data()),
|
||||
ocsp_data.size());
|
||||
},
|
||||
[](SSL_CTX *ctx, CBS *cbs) {
|
||||
std::string ciphers;
|
||||
if (!GetString(&ciphers, cbs)) {
|
||||
return;
|
||||
}
|
||||
SSL_CTX_set_cipher_list(ctx, ciphers.c_str());
|
||||
},
|
||||
[](SSL_CTX *ctx, CBS *cbs) {
|
||||
std::string ciphers;
|
||||
if (!GetString(&ciphers, cbs)) {
|
||||
return;
|
||||
}
|
||||
SSL_CTX_set_cipher_list_tls10(ctx, ciphers.c_str());
|
||||
},
|
||||
[](SSL_CTX *ctx, CBS *cbs) {
|
||||
std::string ciphers;
|
||||
if (!GetString(&ciphers, cbs)) {
|
||||
return;
|
||||
}
|
||||
SSL_CTX_set_cipher_list_tls11(ctx, ciphers.c_str());
|
||||
},
|
||||
[](SSL_CTX *ctx, CBS *cbs) {
|
||||
std::string ciphers;
|
||||
if (!GetString(&ciphers, cbs)) {
|
||||
return;
|
||||
}
|
||||
SSL_CTX_set_session_id_context(
|
||||
ctx, reinterpret_cast<const uint8_t *>(ciphers.data()),
|
||||
ciphers.size());
|
||||
},
|
||||
[](SSL_CTX *ctx, CBS *cbs) {
|
||||
uint32_t size;
|
||||
if (!CBS_get_u32(cbs, &size)) {
|
||||
return;
|
||||
}
|
||||
SSL_CTX_sess_set_cache_size(ctx, size);
|
||||
},
|
||||
[](SSL_CTX *ctx, CBS *cbs) { SSL_CTX_sess_get_cache_size(ctx); },
|
||||
[](SSL_CTX *ctx, CBS *cbs) { SSL_CTX_sess_number(ctx); },
|
||||
[](SSL_CTX *ctx, CBS *cbs) {
|
||||
uint32_t time;
|
||||
if (!CBS_get_u32(cbs, &time)) {
|
||||
return;
|
||||
}
|
||||
SSL_CTX_flush_sessions(ctx, time);
|
||||
},
|
||||
[](SSL_CTX *ctx, CBS *cbs) {
|
||||
std::string keys;
|
||||
if (!GetString(&keys, cbs)) {
|
||||
return;
|
||||
}
|
||||
SSL_CTX_set_tlsext_ticket_keys(
|
||||
ctx, reinterpret_cast<const uint8_t *>(keys.data()), keys.size());
|
||||
},
|
||||
[](SSL_CTX *ctx, CBS *cbs) {
|
||||
std::string curves;
|
||||
if (!GetString(&curves, cbs)) {
|
||||
return;
|
||||
}
|
||||
SSL_CTX_set1_curves(ctx, reinterpret_cast<const int *>(curves.data()),
|
||||
curves.size());
|
||||
},
|
||||
[](SSL_CTX *ctx, CBS *cbs) {
|
||||
std::string curves;
|
||||
if (!GetString(&curves, cbs)) {
|
||||
return;
|
||||
}
|
||||
SSL_CTX_set1_curves_list(ctx, curves.c_str());
|
||||
},
|
||||
[](SSL_CTX *ctx, CBS *cbs) { SSL_CTX_enable_signed_cert_timestamps(ctx); },
|
||||
[](SSL_CTX *ctx, CBS *cbs) { SSL_CTX_enable_ocsp_stapling(ctx); },
|
||||
[](SSL_CTX *ctx, CBS *cbs) {
|
||||
SSL_CTX_add_client_CA(ctx, g_state.cert_.get());
|
||||
},
|
||||
[](SSL_CTX *ctx, CBS *cbs) {
|
||||
std::string protos;
|
||||
if (!GetString(&protos, cbs)) {
|
||||
return;
|
||||
}
|
||||
SSL_CTX_set_alpn_protos(
|
||||
ctx, reinterpret_cast<const uint8_t *>(protos.data()), protos.size());
|
||||
},
|
||||
[](SSL_CTX *ctx, CBS *cbs) {
|
||||
std::string profiles;
|
||||
if (!GetString(&profiles, cbs)) {
|
||||
return;
|
||||
}
|
||||
SSL_CTX_set_srtp_profiles(ctx, profiles.c_str());
|
||||
},
|
||||
[](SSL_CTX *ctx, CBS *cbs) { SSL_CTX_get_max_cert_list(ctx); },
|
||||
[](SSL_CTX *ctx, CBS *cbs) {
|
||||
uint32_t size;
|
||||
if (!CBS_get_u32(cbs, &size)) {
|
||||
return;
|
||||
}
|
||||
SSL_CTX_set_max_cert_list(ctx, size);
|
||||
},
|
||||
[](SSL_CTX *ctx, CBS *cbs) {
|
||||
uint32_t size;
|
||||
if (!CBS_get_u32(cbs, &size)) {
|
||||
return;
|
||||
}
|
||||
SSL_CTX_set_max_send_fragment(ctx, size);
|
||||
},
|
||||
[](SSL_CTX *ctx, CBS *cbs) {
|
||||
uint8_t b;
|
||||
if (!CBS_get_u8(cbs, &b)) {
|
||||
return;
|
||||
}
|
||||
SSL_CTX_set_retain_only_sha256_of_client_certs(ctx, b);
|
||||
},
|
||||
[](SSL_CTX *ctx, CBS *cbs) {
|
||||
uint8_t b;
|
||||
if (!CBS_get_u8(cbs, &b)) {
|
||||
return;
|
||||
}
|
||||
SSL_CTX_set_grease_enabled(ctx, b);
|
||||
},
|
||||
};
|
||||
|
||||
extern "C" int LLVMFuzzerTestOneInput(uint8_t *buf, size_t len) {
|
||||
bssl::UniquePtr<SSL_CTX> ctx(SSL_CTX_new(TLS_method()));
|
||||
|
||||
// If the number of functions exceeds this limit then the code needs to do
|
||||
// more than sample a single uint8_t to pick the function.
|
||||
static_assert(OPENSSL_ARRAY_SIZE(kAPIs) < 256, "kAPIs too large");
|
||||
|
||||
CBS cbs;
|
||||
CBS_init(&cbs, buf, len);
|
||||
|
||||
for (;;) {
|
||||
uint8_t index;
|
||||
if (!CBS_get_u8(&cbs, &index)) {
|
||||
break;
|
||||
}
|
||||
|
||||
kAPIs[index % OPENSSL_ARRAY_SIZE(kAPIs)](ctx.get(), &cbs);
|
||||
}
|
||||
|
||||
bssl::UniquePtr<SSL> ssl(SSL_new(ctx.get()));
|
||||
ERR_clear_error();
|
||||
|
||||
return 0;
|
||||
}
|
@ -0,0 +1 @@
|
||||
;:;ánono!';-z:-:'Ś)·*;GŽ*—;():!)†Â%¨'(×(:(*ánono!';-z:-:'Ś·*;GŽ*—;(Ś;Y3(&ŻŞ(J
˘:%::!;:‚D!v):!)†Â%!¨'*Ő@n(:§z'rU·*¨''·*¨(ł
|
BIN
fuzz/ssl_ctx_api_corpus/012ecab2b2d3a494fef07792c09d31147be4a1fd
Normal file
BIN
fuzz/ssl_ctx_api_corpus/012ecab2b2d3a494fef07792c09d31147be4a1fd
Normal file
Binary file not shown.
@ -0,0 +1 @@
|
||||
':,,!DH:E'·*¨'',8ñ)'z×''z¶b<C2B6>:â@:¶b<C2B6>:
|
BIN
fuzz/ssl_ctx_api_corpus/03da194e96593c23b8872aefd201f48ff277fa8b
Normal file
BIN
fuzz/ssl_ctx_api_corpus/03da194e96593c23b8872aefd201f48ff277fa8b
Normal file
Binary file not shown.
@ -0,0 +1 @@
|
||||
;<3B>*;(ש)8sֲ!%<25>);*<2A>פ(xר('¼F¾')<29>(ּJּ;;G<>*—;()z;G<>*—;(ש)7ת£):8ss
|
@ -0,0 +1,2 @@
|
||||
.'z:;:'·*¨/z'(×(:(*Ś;Y7^(&ŻŞ(J
˘:%:!;:‚D!v*Őrł¦*!;; ˘;!:*'R)!*îÍř)ń:;~
|
||||
;;Űác"(:(:k<>*şU¸0*Ă!::C;s'H0đȟʍ!„);Öt'
|
BIN
fuzz/ssl_ctx_api_corpus/0724ff73bd43274034340713e22defaad8b58b62
Normal file
BIN
fuzz/ssl_ctx_api_corpus/0724ff73bd43274034340713e22defaad8b58b62
Normal file
Binary file not shown.
BIN
fuzz/ssl_ctx_api_corpus/07257535c21f029ceac3c8962e57fd1329227f0f
Normal file
BIN
fuzz/ssl_ctx_api_corpus/07257535c21f029ceac3c8962e57fd1329227f0f
Normal file
Binary file not shown.
@ -0,0 +1 @@
|
||||
¶)¶:no;GŽ'z;@n::z:;@nz'·*¨'(×{:;@n(:('§z:(Ő·*¨''·§'z;@nW'z:;@nz'·*¨'(×{:;@n(( :z:;GŽ*—)+:Â(!!%Ž)§':;*ô(xU·*ř('
|
@ -0,0 +1 @@
|
||||
).zЗ':;:%╥j╗/z'(в(:(*▄;Y7^(&╞╙(J
╒:%:!А-z'╥*╗Kz(:╥**▄в(*,v7╗З((:((▄;Y3^(&╞О╙(J^о╞╨░&╙(;:┌D!(v
|
BIN
fuzz/ssl_ctx_api_corpus/08564edcbcec9114892f9d978e319e0bd1c77872
Normal file
BIN
fuzz/ssl_ctx_api_corpus/08564edcbcec9114892f9d978e319e0bd1c77872
Normal file
Binary file not shown.
BIN
fuzz/ssl_ctx_api_corpus/087919f1cad7d0cb042948d3b644cc3959d7e141
Normal file
BIN
fuzz/ssl_ctx_api_corpus/087919f1cad7d0cb042948d3b644cc3959d7e141
Normal file
Binary file not shown.
@ -0,0 +1 @@
|
||||
;<3B>*;(ש)8sֲ!%<25>);*<2A>פ(xר('¼F¾')<29>(ּJּ;;G<>*—;()z;G<>*—;(ש)7ת£):ss
|
@ -0,0 +1,3 @@
|
||||
-z'!*¨':z'·*½(Œ×(*,;y7¨'¨:(;GŽ*—;():!Â!%Ž)t;*ô(xø('¼;¾'*Ì!J…(Ì()ú;no;GÀ
|
||||
no;GŽ*—z'z!no;GŽ*—;;no;GÀ
|
||||
no;GŽ*—z'z!;):¥ÿno;GŽ*—;;(
|
@ -0,0 +1 @@
|
||||
А-z'╥*╗Kz(╥*(▄А-z'╥*╗Kz(╥*(▄в(*,v7╗'((:(в(*,v7╗'((:(
|
@ -0,0 +1 @@
|
||||
ánono!';:z--:'Œ·*;GŽ*—;():!)†Â%¨'(×(:(*Œ;Y7(&¯ª(J
¢:%:!;:‚D!v*Õr³¦*!;; t!;ô(xø
|
BIN
fuzz/ssl_ctx_api_corpus/0b8c867ef4cfc6159291a069da6e6892d41f0193
Normal file
BIN
fuzz/ssl_ctx_api_corpus/0b8c867ef4cfc6159291a069da6e6892d41f0193
Normal file
Binary file not shown.
@ -0,0 +1 @@
|
||||
;G<>*§§)'—γ) (>!:!%<25>);G<>*—;():!Β!%<25>):;*τ(xψΜΎ'*(';Ό J<>Μ()ϊ;):¥<>S;1)Q(`ο(:!;;$)K)
|
BIN
fuzz/ssl_ctx_api_corpus/0c62ac60b2ac1c308221c74f474c4f3256f3df36
Normal file
BIN
fuzz/ssl_ctx_api_corpus/0c62ac60b2ac1c308221c74f474c4f3256f3df36
Normal file
Binary file not shown.
BIN
fuzz/ssl_ctx_api_corpus/0cdc6aa17ceee1988eb5af7ef4036d910a230399
Normal file
BIN
fuzz/ssl_ctx_api_corpus/0cdc6aa17ceee1988eb5af7ef4036d910a230399
Normal file
Binary file not shown.
@ -0,0 +1 @@
|
||||
:¶;n[x|n0¶;n3:on¶)~n—;zGoooŽ!n&*:;n[4|n;:¶Šn:;;noá-zg'¨':*
|
@ -0,0 +1 @@
|
||||
;G<>*§§)'—γ) (>!2!%<25>);G<>*—;():!Β!%<25>):;*(xψΜΎ'*(';Ό J<>Μ()ϊ;):¥<>S;1)Q(`ο(:!;;$)K)
|
@ -0,0 +1 @@
|
||||
á-z'·*¨':z'·*(Œ×(*,;y7¨'(:(;GŽ*—;():!Â!%Ž)t;*ô(xø('¼;¾'*Ì!J…<4A>Ì()ú;):¥ÿ;0)Q(`ï(!;$)Ká-z'·*¨':z'·*(Œ×(*))!)!Ͷ;;”G,;y
|
@ -0,0 +1 @@
|
||||
¶n¶n!nn;G;o;nonno;G{Ž*—#z'z'·*¨'(×(:(noo);GnU;o!3nnno;gŽ*—#Y;z'z'·*¨'(×(:¶no;n!;n+nonno;Eo;n!;{Žn+no;nonE{Ž*—#z'z'·**'—
|
@ -0,0 +1 @@
|
||||
§§)0;GŽ*—''··*;(z¨;'‡(z'·*¨'(×;–)z'·*¨'((:(*Œ;Y7^(&¯ª(J
¢:<03>%:!;:‚JD!v*Õ#³¦*!;; ¢;!:*'B)!*îÍGú)õ;Ž'*—Ë
|
BIN
fuzz/ssl_ctx_api_corpus/129f69edecbbfa66315ddbc28a72291edc7a39c3
Normal file
BIN
fuzz/ssl_ctx_api_corpus/129f69edecbbfa66315ddbc28a72291edc7a39c3
Normal file
Binary file not shown.
BIN
fuzz/ssl_ctx_api_corpus/12a2028349a1816a07ee99560fc7da7524e696c7
Normal file
BIN
fuzz/ssl_ctx_api_corpus/12a2028349a1816a07ee99560fc7da7524e696c7
Normal file
Binary file not shown.
@ -0,0 +1 @@
|
||||
¶n¶n'!nn;G;o;nonno;G{Ž*—#z'z'·*¨:'(×(:(noo);GnU;o!4;nno;gŽ*—#Y;z'z'·*'(×(:¶no;n!c;nn!n:no;E;o;n!;{Žn+no;nonE¶)¶ú:no;GŽ*—¶)¶:{
|
BIN
fuzz/ssl_ctx_api_corpus/13b1d4611b96a9ab363099925d4af4afae9564f9
Normal file
BIN
fuzz/ssl_ctx_api_corpus/13b1d4611b96a9ab363099925d4af4afae9564f9
Normal file
Binary file not shown.
@ -0,0 +1,3 @@
|
||||
|
||||
:U(キ*ィ';
|
||||
:U'キ*ィ';G仕;z'キ*ィGdz'キ*ィ;
|
BIN
fuzz/ssl_ctx_api_corpus/1513916380b21793e0954d346c104d9801361a77
Normal file
BIN
fuzz/ssl_ctx_api_corpus/1513916380b21793e0954d346c104d9801361a77
Normal file
Binary file not shown.
BIN
fuzz/ssl_ctx_api_corpus/16d0822a37836ea1b19b57cd87c3188bbbe98940
Normal file
BIN
fuzz/ssl_ctx_api_corpus/16d0822a37836ea1b19b57cd87c3188bbbe98940
Normal file
Binary file not shown.
BIN
fuzz/ssl_ctx_api_corpus/181f1956ce83b727f0e6d47a7761bc92bb9c1aef
Normal file
BIN
fuzz/ssl_ctx_api_corpus/181f1956ce83b727f0e6d47a7761bc92bb9c1aef
Normal file
Binary file not shown.
@ -0,0 +1 @@
|
||||
'·*¨'(×(:(*Œ;Y™^(&¯ª(—
¢:<3A>%:!;:‚JD!*Õ³¦*!;; ;:¢*!'ì)!*îÍøñm;6Ä;"';Û(:(Œk<C592>*ºsÏtŒ:Ã!::B··'z'z'*¨'(¨(
|
@ -0,0 +1 @@
|
||||
no!;GŽ*—nz'o;GŽ*—zz'7*¨'(›no'Æz'·Ø*¨':(×(:(*Œ;Y;Gñ7
|
BIN
fuzz/ssl_ctx_api_corpus/19a7668acf005cd1d0340bdd6b24dc97121fbc37
Normal file
BIN
fuzz/ssl_ctx_api_corpus/19a7668acf005cd1d0340bdd6b24dc97121fbc37
Normal file
Binary file not shown.
@ -0,0 +1 @@
|
||||
á-z'·*¨':z'·*(Œ×(*,;y7¨'(:(×(*Œ;Y3^(&¯ïª(J^¼&¯Ïª(J
¢:z×''*·((¨:(<28>%:!;2‚J!v*Œ;Y™^(&¯ª(J
*Õ
|
BIN
fuzz/ssl_ctx_api_corpus/1bf624afc5fdba9f3c71706fa03efa01c2e16305
Normal file
BIN
fuzz/ssl_ctx_api_corpus/1bf624afc5fdba9f3c71706fa03efa01c2e16305
Normal file
Binary file not shown.
BIN
fuzz/ssl_ctx_api_corpus/1c64c2d850b630557420c29ca26ad30f661adef7
Normal file
BIN
fuzz/ssl_ctx_api_corpus/1c64c2d850b630557420c29ca26ad30f661adef7
Normal file
Binary file not shown.
@ -0,0 +1 @@
|
||||
ì:¶4;no3:¶no~no!;GŽ*—nz'on);GŽ®—;GŽ*—z('7*¨'¹×'zn('·*¨'(×((*Œ;Y;G±nno;GŽ*—#z'z'
|
@ -0,0 +1 @@
|
||||
:¶;n[||6n0¶;no3:¶n~n—;zGoooŽ!n&*:¶;n[4|Šn:¶;n:;;noá-zg'¨'z*
|
BIN
fuzz/ssl_ctx_api_corpus/2074a2adeaa7dd7fe37272bbb3049ede2c831970
Normal file
BIN
fuzz/ssl_ctx_api_corpus/2074a2adeaa7dd7fe37272bbb3049ede2c831970
Normal file
Binary file not shown.
@ -0,0 +1 @@
|
||||
>tot¶)¶:no;GŽ**:>tot*:'·*'(
|
@ -0,0 +1 @@
|
||||
otÞ¶:¶b<C2B6>:â:¶b<C2B6>:o1b::¶:¶b<C2B6>no;ˆn!+nnno;«n2+Got³Þ¶n:o
|
@ -0,0 +1 @@
|
||||
GЋь§§)'—г) (>!:!%Ћ);GЋ*—;():!В!%Ћ;GЋ*;P*п—;:;GЋ*—;(‡''·*Ё):!В!
|
@ -0,0 +1 @@
|
||||
:¶;no3:¶no~no!;GŽ*—;():!*z‡·'¨' ×;GŽ*;GŽ*§§)g—®) (!:!%Ž):;GŽ*—nz'on);GŽ*—;GŽ*—zz('§7*¶n;·;(z'*¨#(ב(:(*Œ;<3B>–Y1^(&¯—˵§)'ä;G(Ž
|
@ -0,0 +1,2 @@
|
||||
z'·*¨'(×:(*Ś;Y7Ż(&^Ş(J
˘:<3A>%:!;:‚JD!v*Őrł¦*!;; ˘;!:*'R)!*îÍř)ń;8
|
||||
Ć;;Űá"(:(k<>*ş:¸0*Ă!::Cz'·¨'(×(:(*<2A>Y4^z'(·\*¨'(z&'·*
|
@ -0,0 +1,3 @@
|
||||
:(ィ;キ:'ゥ
|
||||
*U'キ*ィ':U(ィ;':キ
|
||||
*U'キ*ィ';G仕;z'キ*ィG;G仕;z'キ*ィdz'キ*ィGdz';キ*ィ;
|
@ -0,0 +1 @@
|
||||
z:;@n'·*¨'(;Gž*—;(-'()6!Â×(:(*z'·*¨'(×
|
@ -0,0 +1 @@
|
||||
¶)¶:no;jÙ':,'z,,!DH'·*¨''z@;;ot*:'¶::'·*'(×(¶)GoŽ:;n¶*—'z,,+DH,!kDHE'·*¨z'',4²@:¶GŽ¸*—¶)¶:nŒo¶)¶:no;Ž—:)on¶;GŽ*—:n'
|
@ -0,0 +1 @@
|
||||
:¶;n[3|&n:¶;no3:¶n~n—;zGoooŽ!n&*:¶;n[3|6n¶:;no3:¶n~n—;Gnz);GŽ*—;GŽ*—zz('4*:¶;n[||6n0¶;no3:¶nn~—;zGoooŽ!n&*:¶;n[4|Šn:¶;n¶no;Gn!;n;[4G{.onŽ*—#z'z'·*o*ˆooŽ!n':;;n*nzo)¨;Gá-zgŽ*;'¨'z*
|
BIN
fuzz/ssl_ctx_api_corpus/288d84b0a69b42d5787082ede1a3e567ae44697c
Normal file
BIN
fuzz/ssl_ctx_api_corpus/288d84b0a69b42d5787082ede1a3e567ae44697c
Normal file
Binary file not shown.
@ -0,0 +1 @@
|
||||
:'·*¨'(×(:(*Œ;Y7^(&ª(J
¢:<3A>%:'·*¨z'(·'¨(*×:(*Œ;Y7^(&¯ª'(×(:(*Œ;:a;:!*vÕ‚Dr³¦*!;;7Y^(&¯ªz'* ¢;!:*&R)!*îÍø)¨;ñ
|
@ -0,0 +1 @@
|
||||
:öán[V|X0~3n;:on¶~o—;zGooSŽan&*:;n[O~Šn:²;n:;;noá-;zg'¨':*
|
BIN
fuzz/ssl_ctx_api_corpus/2a0f1836091935bd41ef1f67848ff4d4dec5cddb
Normal file
BIN
fuzz/ssl_ctx_api_corpus/2a0f1836091935bd41ef1f67848ff4d4dec5cddb
Normal file
Binary file not shown.
BIN
fuzz/ssl_ctx_api_corpus/2a1de17ce95017ba04667b6176e7d74957542a8d
Normal file
BIN
fuzz/ssl_ctx_api_corpus/2a1de17ce95017ba04667b6176e7d74957542a8d
Normal file
Binary file not shown.
@ -0,0 +1,2 @@
|
||||
:¶;no3:¶no~no!;GŽ*—nz'on);GŽ*—;GŽ*—zz('8**¶no;Gn!;n;no:[n|:{Ž*—#{'z'·*¨'(¨;¹Ç'·(;nnz'o×(*¨;Gn
|
||||
n;:(noo);GnUY;1*z'·;
|
@ -0,0 +1 @@
|
||||
¶n¶n¶n¶n'!nn;G;o;non o;G{Ž*—#z'z'·*¨:'(×(:(noo);GnU;o!4;nno;gŽ*—#Y;z'z'·*'(×(:¶n!o;n!c;jn!n:no;E!nn;G;o;nonno;;o;G
|
@ -0,0 +1 @@
|
||||
jÙ':,';,,;DH'·*¨7'z@;;ot*:¶::'·*'(×(¶)¶:no;GŽ*—,,;DH,+kD
|
BIN
fuzz/ssl_ctx_api_corpus/2ce35c8d23e8f0d83ff370309a09560c6c53df01
Normal file
BIN
fuzz/ssl_ctx_api_corpus/2ce35c8d23e8f0d83ff370309a09560c6c53df01
Normal file
Binary file not shown.
@ -0,0 +1 @@
|
||||
;
|
BIN
fuzz/ssl_ctx_api_corpus/2dfd744a3d893d601e50cca35b69c74be2b9c36b
Normal file
BIN
fuzz/ssl_ctx_api_corpus/2dfd744a3d893d601e50cca35b69c74be2b9c36b
Normal file
Binary file not shown.
BIN
fuzz/ssl_ctx_api_corpus/2e190299cae32ef38604410c01eb60099e3d7f34
Normal file
BIN
fuzz/ssl_ctx_api_corpus/2e190299cae32ef38604410c01eb60099e3d7f34
Normal file
Binary file not shown.
@ -0,0 +1 @@
|
||||
)<29>'
|
BIN
fuzz/ssl_ctx_api_corpus/3016bbfa996146fbc081237076417c6c7b52983b
Normal file
BIN
fuzz/ssl_ctx_api_corpus/3016bbfa996146fbc081237076417c6c7b52983b
Normal file
Binary file not shown.
@ -0,0 +1 @@
|
||||
<EFBFBD>0ワ
|
BIN
fuzz/ssl_ctx_api_corpus/31f6d2b134d159793186a86a550377b74d1e60e9
Normal file
BIN
fuzz/ssl_ctx_api_corpus/31f6d2b134d159793186a86a550377b74d1e60e9
Normal file
Binary file not shown.
@ -0,0 +1 @@
|
||||
:§z'·*¨'A×(:*Œ(;Y'z'·*¨'(×(:(*Œ;Y7·^(&¯ª*(J
¢7·^(:<03>¯ª;;n/(J
¢:<03>%:!:‚;¶;oJn3nno;Gnno;Go;Ž*—z'z'·
|
@ -0,0 +1 @@
|
||||
¶n¶n'!nn;G;o;nonno;G{Ž*—#z'z'·*¨:'(×(:(noo);GnU;o!4nnno;gŽ*—#Y;z'z'·*¨'(×(:¶no;n!c;nn!nno;E;o;n!;{Žn+no;nonE{Î*—#z')z'·**'—
|
@ -0,0 +1 @@
|
||||
GЋ*§§)'—г)(>!:!%Ћ);GЋ*—;():!В!%Ћ;GЋ*;P*п—;:;GЋ*—;(‡''·*Ё+:!В!
|
BIN
fuzz/ssl_ctx_api_corpus/35cfbe07bdbe58ab809e3966fd180ae259c3e522
Normal file
BIN
fuzz/ssl_ctx_api_corpus/35cfbe07bdbe58ab809e3966fd180ae259c3e522
Normal file
Binary file not shown.
BIN
fuzz/ssl_ctx_api_corpus/364b3fc5be3d73a70d2277d7fc01a4e6b253d727
Normal file
BIN
fuzz/ssl_ctx_api_corpus/364b3fc5be3d73a70d2277d7fc01a4e6b253d727
Normal file
Binary file not shown.
@ -0,0 +1,2 @@
|
||||
:¶;n[36~:¶;no3:¶n~noo!;GŽ—on'*nz):GŽ*—;GŽ*—zz('7*¶no;Gn!;n;[7Gn{nonŽ*—#z'z'·*¨;'(¬%¹×'·(;nnz'o×(*¨;!n
|
||||
n;n!o;[Go~n*
|
BIN
fuzz/ssl_ctx_api_corpus/36c6ac66c8580725bd2d8fd4ad9aa56bba1963b2
Normal file
BIN
fuzz/ssl_ctx_api_corpus/36c6ac66c8580725bd2d8fd4ad9aa56bba1963b2
Normal file
Binary file not shown.
BIN
fuzz/ssl_ctx_api_corpus/36cfe981d11f01531d742cbd23b9ce94c30aa9fb
Normal file
BIN
fuzz/ssl_ctx_api_corpus/36cfe981d11f01531d742cbd23b9ce94c30aa9fb
Normal file
Binary file not shown.
@ -0,0 +1 @@
|
||||
<EFBFBD>)-
|
@ -0,0 +1,2 @@
|
||||
:'╥*'(в(:h*▄;Y7:(╞╙(J
╒:%:!;:┌D!v*уrЁ╕*!;; ╒;!:*'R)!*НмЬ)Я:;~
|
||||
;;шАc"(:(k░*╨U╦0*ц!::C;s'H0Пх÷й█:└);жt':╥j!*)AяЙ;x. ⌠О)
|
@ -0,0 +1,2 @@
|
||||
:'╥*'(в(:(*▄;Y7:(▀т╞╙(J
╒:%:!;2┌D!v*уrЁ╕*!;; ╒;!:*'R)!*НмЬ)Я:;~
|
||||
;;шЛc"(:(k░*╨U╦0*ц!:H:';sC0Пх÷й█└);жt':╥j!*)AяЙ⌠ .;xО)
|
BIN
fuzz/ssl_ctx_api_corpus/3811c814888e813affe2550df4a2bf037a589eb1
Normal file
BIN
fuzz/ssl_ctx_api_corpus/3811c814888e813affe2550df4a2bf037a589eb1
Normal file
Binary file not shown.
@ -0,0 +1 @@
|
||||
¶)¶:no¶no;Gn!;n+no;;no+G{Ž*—#z'z'·*;GŽ¸*—¨'(×(2(¶
|
@ -0,0 +1 @@
|
||||
¶¶nn¶n¶n'!nn;G;o;n:on o;j!Got³Þ;{Ž*Ù'::¶;n[3|6n:,¶;n'
|
@ -0,0 +1 @@
|
||||
ánono!';-z:-:'Œ·*;GŽ*—;():!)†Â%¨'(×(:(*Œ;Y7(&¯ª(J
¢:%:!;:‚D!v*Õr³¦*!;; t!;ô(xø
|
@ -0,0 +1 @@
|
||||
:¶'n[)3|6n:¶n¶n¶n¶n'!nn;G;o;non o;G{Ž*—#z'z·*¨:'(×(:(noo);GnU;o!4;nno;gŽ*—#Y;z'z'·*'(×(:¶n!o;n!c;jn!n:no;E!nn;G;o;nonno;;o;¶;no3:¶n~n—;zGoooŽ!n&ï*:¶;n[3|6n:¶;no3:¶n~Gn—;Gnz);GŽ*—;GŽ*—zz('4*:¶
|
BIN
fuzz/ssl_ctx_api_corpus/3b5b05da8d35609b8e14f6a9b9b1fa55b146ab73
Normal file
BIN
fuzz/ssl_ctx_api_corpus/3b5b05da8d35609b8e14f6a9b9b1fa55b146ab73
Normal file
Binary file not shown.
BIN
fuzz/ssl_ctx_api_corpus/3be41a5f702f0944e731425fe26b7642d81e9410
Normal file
BIN
fuzz/ssl_ctx_api_corpus/3be41a5f702f0944e731425fe26b7642d81e9410
Normal file
Binary file not shown.
@ -0,0 +1,2 @@
|
||||
;no;GÀn:¶;n[O3:6n:¶;no3:¶n~noo!;Ž—on'*nz);GŽ*—;GGŽ*—
|
||||
<EFBFBD>ozz(Ž'
|
@ -0,0 +1 @@
|
||||
╖╖)';(z'╥*╗'(в╖╖)0;G▌*≈&'╥╥*;(z╗;'┤(z'╥*╗'(в;G▌'*≈к'╖╥╖Щ*╗';G▌*╖
|
@ -0,0 +1 @@
|
||||
%'В*╗'(в(т(z'z'╥*╗'("в:(*▄Y;3^(&╞╙z'*╗'(в((z'╥*╥*╗'(в(:(▄;Y8^(&╞╙(J
╒:│;6:%!┌JD!v*уrЁ╕*!;; ╒╗'(в:(*z'╥z'╥;!;**:в╗▄*
|
BIN
fuzz/ssl_ctx_api_corpus/41a8e6e70b591d957ea515e5681a2e794aec87ae
Normal file
BIN
fuzz/ssl_ctx_api_corpus/41a8e6e70b591d957ea515e5681a2e794aec87ae
Normal file
Binary file not shown.
BIN
fuzz/ssl_ctx_api_corpus/42ab9101d13d22d39294451708b5994ac0b58807
Normal file
BIN
fuzz/ssl_ctx_api_corpus/42ab9101d13d22d39294451708b5994ac0b58807
Normal file
Binary file not shown.
BIN
fuzz/ssl_ctx_api_corpus/433d382f161cc95725a04442566a79923304ef3c
Normal file
BIN
fuzz/ssl_ctx_api_corpus/433d382f161cc95725a04442566a79923304ef3c
Normal file
Binary file not shown.
@ -0,0 +1,2 @@
|
||||
:¶;n[!:6n:¶;no3:¶n~n—;GoooŽ!n'*nz);GŽ*—;GŽ*—zz('3j¶no;Gn!;n;[7G){nonŽ*—#z'z'·*¨;'(¨'¹×'·(;nnz'o×(*¨;!n
|
||||
n;no;[8Go(~n*
|
@ -0,0 +1 @@
|
||||
z!ZZ-<2D>
|
@ -0,0 +1 @@
|
||||
'·*¨'(×(:(*Œ;Y™^(&¯ª(—
¢:<3A>%:!;:‚JD!*Õr³¦*!;; ;:¢*!'ì)!*îÍøñm;6Ä;"á;Û(:(Œk<C592>*º:¸ÏŒtÃ!::B··'z'z'*¨'(¨(
|
@ -0,0 +1 @@
|
||||
├╠0В
|
@ -0,0 +1 @@
|
||||
´~^3:¶b<C2B6>:â:¶:¶b<C2B6>:ã:¶b<C2B6>:b<>:2b:¶:¶b<C2B6>:o1b::¶;<3B>o:::¶1b::¶:¶b
|
BIN
fuzz/ssl_ctx_api_corpus/4702c017d07edf17440f2f629312661a9e1fd543
Normal file
BIN
fuzz/ssl_ctx_api_corpus/4702c017d07edf17440f2f629312661a9e1fd543
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user