diff --git a/libraries/model-serializers/src/GLTFSerializer.h b/libraries/model-serializers/src/GLTFSerializer.h index 1999ba71cf..203bae47d5 100644 --- a/libraries/model-serializers/src/GLTFSerializer.h +++ b/libraries/model-serializers/src/GLTFSerializer.h @@ -16,12 +16,20 @@ #include -inline float atof_locale_independent(char *str) { +#include +#include +#include +#include + +static float atof_locale_independent(char *str) { //TODO: Once we have C++17 we can use std::from_chars std::istringstream streamToParse(str); streamToParse.imbue(std::locale("C")); - float value = 0.0f; - streamToParse >> value; + float value; + if(!(streamToParse >> value)) { + qDebug(modelformat) << "cgltf: Cannot parse float from string: " << str; + return 0.0f; + } return value; } @@ -29,11 +37,6 @@ inline float atof_locale_independent(char *str) { #include "cgltf.h" -#include -#include -#include -#include - class GLTFSerializer : public QObject, public HFMSerializer { Q_OBJECT