From 17702605cfd4ff697e7bbf2ba50ad87db451de77 Mon Sep 17 00:00:00 2001 From: Malcolm Tyrrell Date: Fri, 2 Oct 2020 14:41:36 +0100 Subject: [PATCH] Limit the number of characters printed. --- include/assimp/fast_atof.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/include/assimp/fast_atof.h b/include/assimp/fast_atof.h index 79740a1e8..a27863760 100644 --- a/include/assimp/fast_atof.h +++ b/include/assimp/fast_atof.h @@ -193,7 +193,8 @@ uint64_t strtoul10_64( const char* in, const char** out=0, unsigned int* max_ino uint64_t value = 0; if ( *in < '0' || *in > '9' ) { - throw DeadlyImportError("The string \"", in, "\" cannot be converted into a value." ); + // The string is known to be bad, so don't risk printing the whole thing. + throw ExceptionType("The string \"", std::substr(in, 0, 100), "\" cannot be converted into a value." ); } for ( ;; ) { @@ -292,7 +293,8 @@ const char* fast_atoreal_move(const char* c, Real& out, bool check_comma = true) if (!(c[0] >= '0' && c[0] <= '9') && !((c[0] == '.' || (check_comma && c[0] == ',')) && c[1] >= '0' && c[1] <= '9')) { - throw ExceptionType("Cannot parse string \"", c, + // The string is known to be bad, so don't risk printing the whole thing. + throw ExceptionType("Cannot parse string \"", std::substr(c, 0, 100), "\" as a real number: does not start with digit " "or decimal point followed by digit."); }