Commit 34045db
authored
### Rationale for this change
Currently, when fuzzing a Parquet file, proper errors are ignored since the file is most of the time simply invalid: it's ok to get an error.
However, if reading a Parquet row group was successful, the Parquet reader should have ensured that the resulting Table is structurally sound: calling `Table::Validate` should succeed, and if it fails then it should report a bug.
### What changes are included in this PR?
Call `Table::Validate` on a successful read from the Parquet fuzz target, and abort if validation fails.
`Table::ValidateFull`, however, is allowed to fail, as for example a Parquet UTF8 column could contain invalid UTF8 bytes, and we don't detect that when decoding.
### Are these changes tested?
By existing tests and fuzz regression files.
Actual running this on OSS-Fuzz will tell us if this is really a good idea.
### Are there any user-facing changes?
No.
* GitHub Issue: #48560
Authored-by: Antoine Pitrou <antoine@python.org>
Signed-off-by: Antoine Pitrou <antoine@python.org>
1 parent 2ac912e commit 34045db
1 file changed
+8
-3
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| 29 | + | |
29 | 30 | | |
30 | 31 | | |
31 | 32 | | |
| |||
95 | 96 | | |
96 | 97 | | |
97 | 98 | | |
98 | | - | |
| 99 | + | |
99 | 100 | | |
100 | 101 | | |
101 | 102 | | |
102 | 103 | | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
103 | 108 | | |
104 | 109 | | |
105 | | - | |
| 110 | + | |
106 | 111 | | |
107 | | - | |
| 112 | + | |
108 | 113 | | |
109 | 114 | | |
110 | 115 | | |
| |||
0 commit comments