Skip to content

Commit c72572e

Browse files
authored
GH-47881: [C++] Update fast_float version to 8.1.0 (#47882)
### Rationale for this change Besides bumping to a much newer version of this vendored library, this also fixes https://issues.oss-fuzz.com/issues/452080278 (found by our CSV reader fuzzer). ### Are these changes tested? By forthcoming fuzz regression file upload in arrow-testing. ### Are there any user-facing changes? No. **This PR contains a "Critical Fix".** (If the changes fix either (a) a security vulnerability, (b) a bug that caused incorrect or invalid data to be produced, or (c) a bug that causes a crash (even when the API contract is upheld), please provide explanation. If not, you can remove this.) * GitHub Issue: #47881 Authored-by: Antoine Pitrou <[email protected]> Signed-off-by: Antoine Pitrou <[email protected]>
1 parent 35bf488 commit c72572e

File tree

14 files changed

+2811
-1731
lines changed

14 files changed

+2811
-1731
lines changed

ci/scripts/cpp_test.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ if [ "${ARROW_FUZZING}" == "ON" ]; then
188188
if [ "${ARROW_PARQUET}" == "ON" ]; then
189189
"${binary_output_dir}/parquet-arrow-fuzz" "${ARROW_TEST_DATA}"/parquet/fuzzing/*-testcase-*
190190
fi
191-
# TODO run CSV fuzz regression tests once we have any
191+
"${binary_output_dir}/arrow-csv-fuzz" "${ARROW_TEST_DATA}"/csv/fuzzing/*-testcase-*
192192
fi
193193

194194
popd

cpp/src/arrow/util/value_parsing_test.cc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,12 @@ TEST(StringConversion, ToFloat) {
147147
AssertConversionFails<FloatType>("");
148148
AssertConversionFails<FloatType>("e");
149149
AssertConversionFails<FloatType>("1,5");
150+
AssertConversionFails<FloatType>("-");
151+
AssertConversionFails<FloatType>("+");
152+
AssertConversionFails<FloatType>("-+");
153+
AssertConversionFails<FloatType>("+-");
154+
AssertConversionFails<FloatType>("--0");
155+
AssertConversionFails<FloatType>("++0");
150156

151157
StringConverter<FloatType> converter(/*decimal_point=*/',');
152158
AssertConversion(&converter, "1,5", 1.5f);

cpp/src/arrow/vendored/fast_float/README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
# fast_float
2121

2222
The files in this directory are vendored from fast_float
23-
git tag `v3.10.1`.
23+
git tag `v8.1.0`.
2424

2525
See https://github.com/fastfloat/fast_float
2626

@@ -30,10 +30,10 @@ See https://github.com/fastfloat/fast_float
3030

3131
## How to update
3232

33-
You must replace `VERSION` in the command lines with suitable version
34-
such as `3.10.1`.
33+
You must replace `VERSION` in the command line below with suitable version
34+
such as `v8.1.0`.
3535

3636
```bash
37-
cpp/src/arrow/vendoered/fast_float/update.sh VERSION
37+
cpp/src/arrow/vendored/fast_float/update.sh VERSION
3838
git commit add cpp/src/arrow/vendoered/fast_float/
3939
```

0 commit comments

Comments
 (0)