boringssl/fuzz/read_pem_corpus
Adam Langley d09175ffe3 Replace base64 decoding.
This code has caused a long history of problems. This change rewrites it
completely with something that is, hopefully, much simplier and robust
and adds more testing.

Change-Id: Ibeef51f9386afd95d5b73316e451eb3a2d7ec4e0
Reviewed-on: https://boringssl-review.googlesource.com/8033
Reviewed-by: Adam Langley <agl@google.com>
2016-05-26 17:59:10 +00:00
..
0ab8318acaf6e678dd02e2b5c343ed41111b393d
0b08765ad46bb11ac55348755ad5c8e4386bd2f3
0bdb9660f74f82a5471210026fdee0b674f1114e
0c4287915a432e6b50e1c2eb0f4ca037b1730aa0
0d583f2aee2e15a7dc7eb93af1ecf44203b537f4
0e3deb2e809b535f39efded20697314a29c8335a
0f29362dfb076a14a103e8bc2c9681fac93c237d
1f68f0ee67566b2954a4e2d2c31f6abb60cdaed5
2a7b8759f3267d3ddca22e936df0b21eabb1aeed
2aaf881c96d0758e5ac244a74deccb7e6363c111
2ef2666e807e55481eb81bd2bd8369a4422dfc6f
3aaa3cdd4444fad7e59ba1ac2c0cbe6b60ea1181
3b981c1e4697103278b32ee4e29e3a7b5225d798
3bff6c9ef0381ea1080fdfb5b4f9c02e95f549b2
3cdb51f7ffc8ef0bd03265c3a414069815821d18
3f46a93da1448c00d2a9f3a62117bd522ce8de64
4aa25eda7560bbd746d9a69b63965c0de21bb53e
4b32aa9edbd17b2d63390a41cc98739be7d45596
4d43fa4e63042871afdb387b75a8845d47b46d18
5c720dc0326e4ffa322f706337df9bc87f42fd96
6d1d12ef00c585b4c859479bfa2522f4a447d907
6d67bafd83bed7aadd641417671e6864dc87073c
6dcb7976d9af4a72b3667926f1fe7642c75685b2
6e6aa5ec1653a57a37c043255ab834f6b2228b80
7a582440bd4712ab88a3e745f928202707585e6f
7b8e2a5dfa03cc13b70eb5f77d61222c108ab6bd
8c07d6299f33fee89ab0c82e92e06cd558ade60f
8e07fb01e0cfa23caddb6b0280c03d0ae2bac57e
9d1e6ed2fc4b095a2ccb4e695241c91d4b194be5
15dd914fbdc4335ebc69caa9afe37681dd75cc32
20a000f3932e041a634b759b7cef8138b5b40f67
20d3859cd71d9b215f55983a5ac9cce7c0a36cc4
27c891aa76f51487ada28b1fc69ac13c7315c933
27ec8c0bf073ec4ea4f5ee15fbaca4fb32f728b3
35bae979e092abdc6b31f8b3c52ddcafa4722a9a
38fccbaee723a06ca137a952843b58d32d35ef25
58bdb0aea139a2790c2e1a3b25e302892a6c4b55
66f8b696c46c10a6db20b690e4431b72745f4760
74a4f38726a49f3a8c06763d58d8fc229b2aa915
74b9536c60def2f9cb8e83512b80ff8406d12567
74b97735df0ee03d5a912734de93772093826bda
78c435e1927ec196afab938edced0b9ee267e70b
78e4c8a5d73cf074f243ef12a3669fef1e848121
97c5565f723c0e49787fdec9ed15354760fcb1e6
149b4073e8ee2d37455c0d7867c7cffdecf0f8e1
217d0e120e43e1899a8ab51009de55038fe52789
318bcf81a2b6fa0ce680ec82cf11e8a6e4bd93f0
358ff4aeb6903affa5d080c317c3270ac4f13121
488ae502baabc6506f8722dcdc5294940fa5d588
667da9df1cde33d635bbde1986827573ed686a7e
729be2837328d9f25597b1d605188bc724c632e6
824b6dd27deb9ed157fdc80485f104268f7232fe
825edbf21bc40ec23225772635ea6390e6d9fb4c
874ed5d633d245b10fdda52c49627b43b3f2e25b
894e092b7fd9f4e0a5911ca106e097d3833d3491
956c8cf1db9220ac8004eb9a75e3ebc1df33a33f
1078e6b183abbe50aa19cffd741db1cb30e5cf4f
2904f9b6f6cb0ddf9248537b4fb4b2170174b74f
5891dd7c6715eca7f427ed9267de9da72b8e82e8
8347c4366b5d668b467fb589c3090f201eacb5db
9832fea1fe1c8b575790f59f98404fb61672a3f3
9940bd2f440a8c1e07dba6476c219349afeae711
01270d57eecae64f59b9b27cc06e3f9eaf2304e2
42650de48dbf62d86a91ede484061f834214915d
55885a3f94688b36e34fac8ce1fd7fcc7bb7208c
88581ebac8ffbea71bb83f704e14d789dbc33f37
94514c5c092afe2f8295dc193d506f16c6ea82c1
411752e433e18c27f83b9728256082c2ffb77ebb
548649f5502df5e77b9d332d3f1e29dedd7afdb2
699044ddfe4887d6081ce2a36c1302814294eb68
892155ce92d4c3293f48e6fc2097336ba882a0ad
2493849afd1697d00f4c2f36af4522e6a9ba46b8
7539289d67a0974d16f0ed01ded0a58a02b21126
92207925db84106af0167e887696d936aa41e785
18810634408061267ccb64d68fb85b4ed93515e8
a2bc14d4be3bb4f4deb93ddaa77224db305158af
a75abe0b4dd03dc232f9192666d6adb369beffca
a92c58dfadb8195fbd90c70b4dc576986dbb7c46
aa82ef4cf1c3c2d7dd7811803227cc87d2429b3c
ad49ff8fb9ff95a8f110b15702f8209df64f8fad
af9207c320f7400ba18dea62fd4af98330ba260b
b92f0f72b6839f6c7ac10f4c663765b89e1fa513
b178eadb35af688d045ba6bc400396ae0fc7c9b9
b709f3412c5fb9a0b38a69eee59620a5c3990385
b034864020154378b78a11122c8f61f81e8009ce
bc205ed015bb01de66b5a6b5a631d167c8077a5c
c7e4b7f4c3bbc7c6ed4e3366d1d4c16ed44952f1
c45f49452fcdf531f2bcfd100645c535e5b71205
c0348b5dd7aaf73888372a5a6abef82bd0df97b9
c0596e573f43d2bd5a5d038bf4bd7d073141ddf0
c504659b0454be5eef0594da6a952f8daf347929
caf489bb8f6f48e35b95032b2824ca0ffc77d26a
cc8ceeebb230ca237479e0c3dacafbb5524222e1
cf1b3d1ed204deed6c62f41d0e706ee47bc802e0
cfc3b1348ca73b8c02d9aed715d1e0681326888c
d4f0a19ece82b78c82c81eae5b49dc662c6f4a89
d959c647c6a5ea641fec147b0de36187a9d2f8c5
de2fb44503aca3f82d5466a9489c0735324b214d
df9fe7d51a89ee267034a2834025f71505d4a421
e1a6c4096b145ced5362ede6ffedbc49d16ba57e
e7ef91e03a3aa8bd53b2466a2207a5028185678f
e45a6df435a1cecae6547f6dcde626a7e706434c
e3344ef8d734471ef90b16c719cb0f11af2ce743
e207960b1761ba95e7544b9d924459c56e2c4695
ebcae74985ccc7905a3800c0db2723392cfd2f2c
ed31baee70d3b705762e808e494b4debf604c5fb
ee06965764fdf6769657e744a61efe7d60d085fb
f3f2959361766dbfafbb2f99a4f60c920001386e
f9f61f03681250b015a00df3010b89d2d776d8fc
f18ebc593b87baa03b5e003b7540577001ba6aca
f123c08d0a46b72fa8989296e82e7aa25ebf16f8
f1903c6e205ba7b902e53b07e08890ec8179cbd5
f72115838630c70a067e89b98615357fcf19d058
fad7e4071afc1e4f441e2cb65cf9b0da37dcd74e
fb6d4702bcb98df173527a5f08d5ac829adb2f9f
fb36b0ce1600b9399d552eab916600c239be5ad5
fb64fef6ea2f835804b69ae3d21fb2cac7e4973f
fd1cc706033976b86a93d2b0c74b15bb2f31fccf
ff7dcdb0fc13ddea6e82cac7bf3a0414cb772ded