mirror of
https://github.com/boostorg/charconv.git
synced 2026-01-19 04:02:15 +00:00
Add fuzzing for to_chars_int
This commit is contained in:
60
fuzzing/fuzz_to_chars_int.cpp
Normal file
60
fuzzing/fuzz_to_chars_int.cpp
Normal file
@@ -0,0 +1,60 @@
|
||||
// Copyright 2024 Matt Borland
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
// https://www.boost.org/LICENSE_1_0.txt
|
||||
|
||||
#include <boost/charconv.hpp>
|
||||
#include <boost/core/detail/string_view.hpp>
|
||||
#include <iostream>
|
||||
#include <exception>
|
||||
|
||||
extern "C" int LLVMFuzzerTestOneInput(const std::uint8_t* data, std::size_t size)
|
||||
{
|
||||
try
|
||||
{
|
||||
auto c_data = reinterpret_cast<const char*>(data);
|
||||
|
||||
for (int base = 2; base < 36; ++base)
|
||||
{
|
||||
char buffer[10]; // Small enough it should force overflows
|
||||
|
||||
char c_val {};
|
||||
boost::charconv::from_chars(c_data, c_data + size, c_val, base);
|
||||
boost::charconv::to_chars(buffer, buffer + sizeof(buffer), c_val, base);
|
||||
|
||||
int i_val {};
|
||||
boost::charconv::from_chars(c_data, c_data + size, i_val, base);
|
||||
boost::charconv::to_chars(buffer, buffer + sizeof(buffer), i_val, base);
|
||||
|
||||
long l_val {};
|
||||
boost::charconv::from_chars(c_data, c_data + size, l_val, base);
|
||||
boost::charconv::to_chars(buffer, buffer + sizeof(buffer), l_val, base);
|
||||
|
||||
long long ll_val {};
|
||||
boost::charconv::from_chars(c_data, c_data + size, ll_val, base);
|
||||
boost::charconv::to_chars(buffer, buffer + sizeof(buffer), ll_val, base);
|
||||
|
||||
unsigned char uc_val {};
|
||||
boost::charconv::from_chars(c_data, c_data + size, uc_val, base);
|
||||
boost::charconv::to_chars(buffer, buffer + sizeof(buffer), uc_val, base);
|
||||
|
||||
unsigned int ui_val {};
|
||||
boost::charconv::from_chars(c_data, c_data + size, ui_val, base);
|
||||
boost::charconv::to_chars(buffer, buffer + sizeof(buffer), ui_val, base);
|
||||
|
||||
unsigned long ul_val {};
|
||||
boost::charconv::from_chars(c_data, c_data + size, ul_val, base);
|
||||
boost::charconv::to_chars(buffer, buffer + sizeof(buffer), ul_val, base);
|
||||
|
||||
unsigned long long ull_val {};
|
||||
boost::charconv::from_chars(c_data, c_data + size, ull_val, base);
|
||||
boost::charconv::to_chars(buffer, buffer + sizeof(buffer), ull_val, base);
|
||||
}
|
||||
}
|
||||
catch(...)
|
||||
{
|
||||
std::cerr << "Error with: " << data << std::endl;
|
||||
std::terminate();
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
518
fuzzing/seedcorpus/fuzz_to_chars_int/to_chars_int.txt
Normal file
518
fuzzing/seedcorpus/fuzz_to_chars_int/to_chars_int.txt
Normal file
@@ -0,0 +1,518 @@
|
||||
42
|
||||
1234
|
||||
-123
|
||||
41
|
||||
+12345
|
||||
34
|
||||
12
|
||||
89
|
||||
33
|
||||
-45
|
||||
30±5
|
||||
123°
|
||||
2¼
|
||||
123²
|
||||
2a
|
||||
0101010
|
||||
1000
|
||||
3FC
|
||||
-42490
|
||||
-9196899
|
||||
-7774085
|
||||
6930655
|
||||
-6351954
|
||||
4120933
|
||||
1161742
|
||||
9153483
|
||||
-397939
|
||||
2888097
|
||||
3493531
|
||||
8014768
|
||||
3387145
|
||||
-9428932
|
||||
-9697971
|
||||
954743
|
||||
-1405152
|
||||
-7686226
|
||||
-409241
|
||||
6140946
|
||||
3913358
|
||||
-5774313
|
||||
4915817
|
||||
-5793053
|
||||
-8571280
|
||||
7965631
|
||||
-1916984
|
||||
6021864
|
||||
-4650863
|
||||
4313539
|
||||
-6853922
|
||||
1336611
|
||||
6326853
|
||||
-8034583
|
||||
7858797
|
||||
-2992882
|
||||
1800428
|
||||
-683113
|
||||
-1715451
|
||||
-2499186
|
||||
5362527
|
||||
-5368835
|
||||
7704148
|
||||
4299727
|
||||
9705073
|
||||
-6307954
|
||||
1875450
|
||||
-5882042
|
||||
-1798622
|
||||
3819531
|
||||
-6503811
|
||||
5653686
|
||||
-3507678
|
||||
-483422
|
||||
7184660
|
||||
-8484328
|
||||
5037472
|
||||
4439428
|
||||
1470704
|
||||
881116
|
||||
-839586
|
||||
2864576
|
||||
6992661
|
||||
8215385
|
||||
1703819
|
||||
3922737
|
||||
-3534785
|
||||
-7512488
|
||||
-9262573
|
||||
8952857
|
||||
7658753
|
||||
4354768
|
||||
9051901
|
||||
6137247
|
||||
9636524
|
||||
-9421725
|
||||
-3783437
|
||||
5077991
|
||||
638884
|
||||
7281716
|
||||
3840965
|
||||
-8794031
|
||||
-1980867
|
||||
-7378981
|
||||
2536183
|
||||
-2457292
|
||||
-8203177
|
||||
-3288073
|
||||
8446652
|
||||
-9013480
|
||||
-2986316
|
||||
446688
|
||||
8622921
|
||||
3414953
|
||||
-429889
|
||||
-2286252
|
||||
-5863868
|
||||
-7264301
|
||||
-8256141
|
||||
-6496191
|
||||
3439226
|
||||
4399784
|
||||
3909537
|
||||
6944561
|
||||
6863205
|
||||
7777327
|
||||
-7750690
|
||||
4536103
|
||||
-4453764
|
||||
-9192216
|
||||
7685596
|
||||
-919559
|
||||
-2523990
|
||||
-5916354
|
||||
-2653905
|
||||
3960977
|
||||
8791624
|
||||
9624971
|
||||
-4268847
|
||||
3975922
|
||||
3716452
|
||||
-4501650
|
||||
-715806
|
||||
-8425870
|
||||
1569723
|
||||
5581967
|
||||
-9010245
|
||||
2066237
|
||||
-8411162
|
||||
-5843181
|
||||
-2201452
|
||||
2212917
|
||||
4411534
|
||||
9503237
|
||||
2314409
|
||||
-4608617
|
||||
-7460414
|
||||
7139444
|
||||
-9151293
|
||||
-4463942
|
||||
5907006
|
||||
-9273983
|
||||
-1778660
|
||||
-4839520
|
||||
-9672291
|
||||
3129336
|
||||
9714355
|
||||
-7511827
|
||||
886388
|
||||
-1852002
|
||||
-2146222
|
||||
-6788951
|
||||
7680165
|
||||
-6334184
|
||||
-3846738
|
||||
6234795
|
||||
9264890
|
||||
-6550532
|
||||
5036284
|
||||
1449430
|
||||
9810266
|
||||
-7186809
|
||||
-1630455
|
||||
9334305
|
||||
2268225
|
||||
-7253760
|
||||
209095
|
||||
9261499
|
||||
4962760
|
||||
-8103789
|
||||
-7572613
|
||||
-2879358
|
||||
7745141
|
||||
-8434989
|
||||
1923
|
||||
-2771374
|
||||
5030955
|
||||
-4118639
|
||||
7257502
|
||||
6188676
|
||||
7660004
|
||||
-3250660
|
||||
-4777221
|
||||
-8185518
|
||||
1578519
|
||||
-255890
|
||||
-3947426
|
||||
-1085383
|
||||
-794910
|
||||
9525752
|
||||
506862
|
||||
4977981
|
||||
4287111
|
||||
-7604039
|
||||
6622937
|
||||
6777613
|
||||
2416860
|
||||
-76232
|
||||
69208
|
||||
7569191
|
||||
8230084
|
||||
6644964
|
||||
-9038911
|
||||
-7346811
|
||||
-9708301
|
||||
2246034
|
||||
-9104013
|
||||
-6613481
|
||||
7593563
|
||||
-8929486
|
||||
4983505
|
||||
-2547336
|
||||
4112659
|
||||
5476437
|
||||
-7006736
|
||||
-576668
|
||||
9522150
|
||||
3630833
|
||||
-710467
|
||||
-5034037
|
||||
283769
|
||||
3975175
|
||||
8059442
|
||||
3773815
|
||||
6365959
|
||||
-7066398
|
||||
-7181872
|
||||
-1536746
|
||||
4206163
|
||||
6482244
|
||||
-2204215
|
||||
5042345
|
||||
1058187
|
||||
6860035
|
||||
2228715
|
||||
-8088032
|
||||
4878418
|
||||
-1657733
|
||||
-7577238
|
||||
3410037
|
||||
-730792
|
||||
-3643301
|
||||
963110
|
||||
-3085673
|
||||
-4775751
|
||||
-6200349
|
||||
6561567
|
||||
-8340104
|
||||
-39995
|
||||
4753502
|
||||
2801699
|
||||
4888413
|
||||
7936962
|
||||
-5810624
|
||||
-7110676
|
||||
9735392
|
||||
1741203
|
||||
1695773
|
||||
7705210
|
||||
1060929
|
||||
-6223387
|
||||
-4397348
|
||||
-284528
|
||||
8760421
|
||||
2491735
|
||||
7166649
|
||||
9596759
|
||||
-9315159
|
||||
2372951
|
||||
6238174
|
||||
4248249
|
||||
-2887237
|
||||
9612146
|
||||
-7603852
|
||||
-8187075
|
||||
-7805196
|
||||
9581960
|
||||
308736
|
||||
5188335
|
||||
1367646
|
||||
8833739
|
||||
-9158142
|
||||
-958476
|
||||
56614
|
||||
-9702189
|
||||
8698067
|
||||
-6200012
|
||||
4781723
|
||||
175643
|
||||
-346514
|
||||
9780492
|
||||
4067016
|
||||
8637114
|
||||
-3574373
|
||||
7323967
|
||||
-5326810
|
||||
-5776901
|
||||
6459138
|
||||
3278055
|
||||
-8455224
|
||||
-5447678
|
||||
-3820874
|
||||
-6470010
|
||||
-7809782
|
||||
8534207
|
||||
-7976953
|
||||
-2493316
|
||||
2321161
|
||||
-9409524
|
||||
9624269
|
||||
7170858
|
||||
837372
|
||||
-4221591
|
||||
8279771
|
||||
-2474607
|
||||
4026613
|
||||
4798325
|
||||
4751766
|
||||
-2230257
|
||||
-7359976
|
||||
-9757797
|
||||
-3787056
|
||||
-7013698
|
||||
9521792
|
||||
-5030202
|
||||
-9018656
|
||||
9061783
|
||||
2798622
|
||||
6487135
|
||||
6739426
|
||||
-7785881
|
||||
8702840
|
||||
-6811395
|
||||
-1360189
|
||||
8118434
|
||||
7373104
|
||||
9791669
|
||||
-8804423
|
||||
815259
|
||||
-7666079
|
||||
-8264357
|
||||
1788613
|
||||
-7033801
|
||||
4204940
|
||||
199493
|
||||
4170687
|
||||
-2258247
|
||||
-4451207
|
||||
2063993
|
||||
-2866483
|
||||
2239897
|
||||
6485858
|
||||
-5939309
|
||||
-958999
|
||||
3118043
|
||||
8818044
|
||||
5573746
|
||||
-5524829
|
||||
796426
|
||||
-4833930
|
||||
5052399
|
||||
-1442826
|
||||
2688392
|
||||
5441784
|
||||
-1777305
|
||||
-6755313
|
||||
3826063
|
||||
-6928837
|
||||
1916430
|
||||
-128145
|
||||
-5293741
|
||||
-4280843
|
||||
-7731962
|
||||
1152107
|
||||
-7661280
|
||||
-6512914
|
||||
1071320
|
||||
4841332
|
||||
-7691478
|
||||
5010844
|
||||
-610927
|
||||
8663735
|
||||
-5291166
|
||||
1670046
|
||||
5501615
|
||||
-7141262
|
||||
-3642551
|
||||
8650047
|
||||
-4171110
|
||||
-4538700
|
||||
3536087
|
||||
-7422126
|
||||
833809
|
||||
6444383
|
||||
-4687319
|
||||
-2011831
|
||||
-4968427
|
||||
-1934866
|
||||
-9212164
|
||||
-2279104
|
||||
-6221755
|
||||
-113641
|
||||
6388778
|
||||
8149503
|
||||
8556292
|
||||
6888235
|
||||
6412726
|
||||
-2680187
|
||||
9082210
|
||||
-8937640
|
||||
-263277
|
||||
-6628529
|
||||
-8811896
|
||||
-9732443
|
||||
-6553361
|
||||
7947423
|
||||
4620154
|
||||
1849036
|
||||
-6234039
|
||||
-4827952
|
||||
1938267
|
||||
-9358702
|
||||
-3171542
|
||||
-3946700
|
||||
-5331044
|
||||
1391549
|
||||
3396828
|
||||
4497713
|
||||
1333622
|
||||
-3732127
|
||||
8715234
|
||||
-6039261
|
||||
8432676
|
||||
1329376
|
||||
-8422328
|
||||
-727727
|
||||
1623223
|
||||
-2242227
|
||||
-4834226
|
||||
-4766522
|
||||
-3984622
|
||||
-4918774
|
||||
2586589
|
||||
-7977062
|
||||
-4962029
|
||||
-3736223
|
||||
-5252089
|
||||
7913607
|
||||
-8867042
|
||||
-1781262
|
||||
7727314
|
||||
4486952
|
||||
-5237381
|
||||
-6058792
|
||||
-188451
|
||||
2452347
|
||||
8289840
|
||||
7190715
|
||||
4553597
|
||||
-1495643
|
||||
568439
|
||||
109253
|
||||
7789019
|
||||
-9631017
|
||||
-4741195
|
||||
8525183
|
||||
-4104019
|
||||
4379136
|
||||
4607709
|
||||
-8713008
|
||||
-9501599
|
||||
-3733306
|
||||
-8150960
|
||||
-7991506
|
||||
679339
|
||||
4182813
|
||||
3321666
|
||||
-953982
|
||||
-1953289
|
||||
117963
|
||||
1401832
|
||||
8929688
|
||||
-2022905
|
||||
7630341
|
||||
4769303
|
||||
-6923183
|
||||
-4243741
|
||||
-5166610
|
||||
2744584
|
||||
-5791476
|
||||
-6021017
|
||||
-3727155
|
||||
-8466205
|
||||
-3352811
|
||||
5804736
|
||||
6636398
|
||||
2711842
|
||||
-7824818
|
||||
-437527
|
||||
5985188
|
||||
Reference in New Issue
Block a user