Skip to content

Commit 82ecd0a

Browse files
author
fuzzerofducks
committed
add fuzz reproductions for run 14544153612; csv_multi_param_fuzzer; duckdb ref: main;
1 parent 9babaa9 commit 82ecd0a

25 files changed

+249
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
[
2+
{
3+
"file_name": "case_0.csv",
4+
"arguments": "auto_detect=false, buffer_size=8, columns={'a': 'integer','b': 'integer','c': 'integer'}, header=true, maximum_line_size=0"
5+
},
6+
{
7+
"file_name": "case_1.csv",
8+
"arguments": "auto_detect=false, buffer_size=8, columns={'a': 'integer','b': 'integer','c': 'integer'}, header=true, maximum_line_size=0"
9+
},
10+
{
11+
"file_name": "case_2.csv",
12+
"arguments": "auto_detect=false, buffer_size=8, columns={'a': 'integer','b': 'integer','c': 'integer'}, header=true, maximum_line_size=0"
13+
},
14+
{
15+
"file_name": "case_3.csv",
16+
"arguments": "delim='\\t', escape='', header=false, sep=''"
17+
},
18+
{
19+
"file_name": "case_4.csv",
20+
"arguments": "delim='\\t', escape='', header=false, delim=''"
21+
},
22+
{
23+
"file_name": "case_5.csv",
24+
"arguments": "delim='\\t', sep='', header=false, quote=''"
25+
},
26+
{
27+
"file_name": "case_6.csv",
28+
"arguments": "auto_detect=false, buffer_size=8, columns={'aaaaaaaaaaaaaaaa': 'integer','c': 'integer'}, header=true, maximum_line_size=0"
29+
},
30+
{
31+
"file_name": "case_7.csv",
32+
"arguments": "auto_detect=false, columns={'j': 'JSON'}, delim=''"
33+
},
34+
{
35+
"file_name": "case_8.csv",
36+
"arguments": "auto_detect=false, columns={'j': 'JSON'}, delim=''"
37+
},
38+
{
39+
"file_name": "case_9.csv",
40+
"arguments": "auto_detect=false, columns={'j': 'JSON'}, delim=''"
41+
},
42+
{
43+
"file_name": "case_10.csv",
44+
"arguments": "auto_detect=true, columns={'j': 'JSON'}, delim=''"
45+
},
46+
{
47+
"file_name": "case_11.csv",
48+
"arguments": "auto_detect=false, columns={'j': 'JSON'}, delim=''"
49+
},
50+
{
51+
"file_name": "case_12.csv",
52+
"arguments": "auto_detect=false, columns={'j': 'JSON'}, delim=''"
53+
},
54+
{
55+
"file_name": "case_13.csv",
56+
"arguments": "auto_detect=false, columns={'S': 'JSON'}, delim=''"
57+
},
58+
{
59+
"file_name": "case_14.csv",
60+
"arguments": "auto_detect=false, auto_detect=true, delim=''"
61+
}
62+
]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
1,1
2+
1,1,1
3+
1,\n,1
4+
1,\n,1
5+
1,\n,1
6+
1,\n,1
7+
1,\n,1
8+
1,\n,1
9+
1,\n,1
10+
1,\n,1
11+
1,\n,1
12+
1,\n,1
13+
1,\n,1
14+
1,\n,1
15+
1,\n,1
16+
1,\n,1
17+
1,\n,1
18+
1,\n,1
19+
1,\n,1
20+
1,\n,1
21+
1,1,1
22+
1,1,1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
2+
1,\n,1
3+
1,\n,1
4+
1,\n,1
5+
1,\n,1
6+
1,\n,1
7+
1,\n,1
8+
1,\n,1
9+
1,\n,1
10+
1,\n,1
11+
1,\n,1
12+
1,\n,1
13+
1,\n,1
14+
1,\n,1
15+
1,\n,1
16+
1,\n,1
17+
1,\n,1
18+
1,\n,1
19+
1,1,1
20+
1,1,1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
rgestring\|thi>>>ccccH:%M:%S'A,B
2+
sisav����uberverylargestring\|
3+
thisisaverysuberverylargestring\|thisihaverysuberverylargestring\|thisisaverysuberverylargestring\|
4+
thisisaverysuberverylargestring\|thisisaverysuberverylargestring\|thisisaverysuberverylargestring\|
5+
thisisaverysuberverylrgetring\|thisisaverysuberverylargestring\|thisisaverysuberverylargestring\|
6+
thisisaverysuberverylargestring\|thisisaverysuberverylargestring\|thisisaverysuberverylargestring\|
7+
thisisaverysuberverylargestring\|thisisUverysubervery
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# name: test/fuzzer/afl/csv_multi_param_fuzzer-92a5b7b32fb014e0fabe92cd6c1e95945fb6679c-hangs.test
2+
# description: fuzzer generated csv files - should not raise internal exception (by failed assertion).
3+
# group: [csv]
4+
5+
require json
6+
7+
statement ok
8+
PRAGMA enable_verification
9+
10+
query I
11+
select count(file) from glob('./data/csv/afl/14544153612_csv_fuzz_error_hangs/*');
12+
----
13+
6
14+
15+
statement maybe
16+
FROM read_csv('data/csv/afl/14544153612_csv_fuzz_error_hangs/case_0.csv', auto_detect=true, compression='gzip');
17+
----
18+
19+
statement maybe
20+
FROM read_csv('data/csv/afl/14544153612_csv_fuzz_error_hangs/case_1.csv', auto_detect=true, compression='gzip');
21+
----
22+
23+
statement maybe
24+
FROM read_csv('data/csv/afl/14544153612_csv_fuzz_error_hangs/case_2.csv', auto_detect=true, compression='gzip');
25+
----
26+
27+
statement maybe
28+
FROM read_csv('data/csv/afl/14544153612_csv_fuzz_error_hangs/case_3.csv', auto_detect=true, compression='gzip');
29+
----
30+
31+
statement maybe
32+
FROM read_csv('data/csv/afl/14544153612_csv_fuzz_error_hangs/case_4.csv', auto_detect=true, compression='gzip');
33+
----
34+
35+
statement maybe
36+
FROM read_csv('data/csv/afl/14544153612_csv_fuzz_error_hangs/case_5.csv', auto_detect=true, compression='gzip');
37+
----
38+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
# name: test/fuzzer/afl/csv_multi_param_fuzzer-92a5b7b32fb014e0fabe92cd6c1e95945fb6679c.test
2+
# description: fuzzer generated csv files - should not raise internal exception (by failed assertion).
3+
# group: [csv]
4+
5+
require json
6+
7+
statement ok
8+
PRAGMA enable_verification
9+
10+
query I
11+
select count(file) from glob('./data/csv/afl/14544153612_csv_fuzz_error/*');
12+
----
13+
15
14+
15+
statement maybe
16+
FROM read_csv('data/csv/afl/14544153612_csv_fuzz_error/case_0.csv', auto_detect=false, buffer_size=8, columns={'a': 'integer','b': 'integer','c': 'integer'}, header=true, maximum_line_size=0);
17+
----
18+
19+
statement maybe
20+
FROM read_csv('data/csv/afl/14544153612_csv_fuzz_error/case_1.csv', auto_detect=false, buffer_size=8, columns={'a': 'integer','b': 'integer','c': 'integer'}, header=true, maximum_line_size=0);
21+
----
22+
23+
statement maybe
24+
FROM read_csv('data/csv/afl/14544153612_csv_fuzz_error/case_2.csv', auto_detect=false, buffer_size=8, columns={'a': 'integer','b': 'integer','c': 'integer'}, header=true, maximum_line_size=0);
25+
----
26+
27+
statement maybe
28+
FROM read_csv('data/csv/afl/14544153612_csv_fuzz_error/case_3.csv', delim='\t', escape='', header=false, sep='');
29+
----
30+
31+
statement maybe
32+
FROM read_csv('data/csv/afl/14544153612_csv_fuzz_error/case_4.csv', delim='\t', escape='', header=false, delim='');
33+
----
34+
35+
statement maybe
36+
FROM read_csv('data/csv/afl/14544153612_csv_fuzz_error/case_5.csv', delim='\t', sep='', header=false, quote='');
37+
----
38+
39+
statement maybe
40+
FROM read_csv('data/csv/afl/14544153612_csv_fuzz_error/case_6.csv', auto_detect=false, buffer_size=8, columns={'aaaaaaaaaaaaaaaa': 'integer','c': 'integer'}, header=true, maximum_line_size=0);
41+
----
42+
43+
statement maybe
44+
FROM read_csv('data/csv/afl/14544153612_csv_fuzz_error/case_7.csv', auto_detect=false, columns={'j': 'JSON'}, delim='');
45+
----
46+
47+
statement maybe
48+
FROM read_csv('data/csv/afl/14544153612_csv_fuzz_error/case_8.csv', auto_detect=false, columns={'j': 'JSON'}, delim='');
49+
----
50+
51+
statement maybe
52+
FROM read_csv('data/csv/afl/14544153612_csv_fuzz_error/case_9.csv', auto_detect=false, columns={'j': 'JSON'}, delim='');
53+
----
54+
55+
statement maybe
56+
FROM read_csv('data/csv/afl/14544153612_csv_fuzz_error/case_10.csv', auto_detect=true, columns={'j': 'JSON'}, delim='');
57+
----
58+
59+
statement maybe
60+
FROM read_csv('data/csv/afl/14544153612_csv_fuzz_error/case_11.csv', auto_detect=false, columns={'j': 'JSON'}, delim='');
61+
----
62+
63+
statement maybe
64+
FROM read_csv('data/csv/afl/14544153612_csv_fuzz_error/case_12.csv', auto_detect=false, columns={'j': 'JSON'}, delim='');
65+
----
66+
67+
statement maybe
68+
FROM read_csv('data/csv/afl/14544153612_csv_fuzz_error/case_13.csv', auto_detect=false, columns={'S': 'JSON'}, delim='');
69+
----
70+
71+
statement maybe
72+
FROM read_csv('data/csv/afl/14544153612_csv_fuzz_error/case_14.csv', auto_detect=false, auto_detect=true, delim='');
73+
----
74+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
[
2+
{
3+
"file_name": "case_0.csv",
4+
"arguments": "auto_detect=true, compression='gzip'"
5+
},
6+
{
7+
"file_name": "case_1.csv",
8+
"arguments": "auto_detect=true, compression='gzip'"
9+
},
10+
{
11+
"file_name": "case_2.csv",
12+
"arguments": "auto_detect=true, compression='gzip'"
13+
},
14+
{
15+
"file_name": "case_3.csv",
16+
"arguments": "auto_detect=true, compression='gzip'"
17+
},
18+
{
19+
"file_name": "case_4.csv",
20+
"arguments": "auto_detect=true, compression='gzip'"
21+
},
22+
{
23+
"file_name": "case_5.csv",
24+
"arguments": "auto_detect=true, compression='gzip'"
25+
}
26+
]

0 commit comments

Comments
 (0)