diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 000000000..e4915cd1c --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,16 @@ +# Security Policy + +## Supported Versions + +Use this section to tell people about which versions of your project are +currently being supported with security updates. + +| Version | Supported | +| ------- | ------------------ | +| 5.2.4 | :white_check_mark: | + +## Reporting a Vulnerability + +If you have found any security vulnerability you can contact us via +kim.kulling@googlemail.com + diff --git a/code/AssetLib/FBX/FBXConverter.cpp b/code/AssetLib/FBX/FBXConverter.cpp index 9d891864a..83d95dada 100644 --- a/code/AssetLib/FBX/FBXConverter.cpp +++ b/code/AssetLib/FBX/FBXConverter.cpp @@ -643,7 +643,7 @@ void FBXConverter::GetRotationMatrix(Model::RotOrder mode, const aiVector3D &rot bool FBXConverter::NeedsComplexTransformationChain(const Model &model) { const PropertyTable &props = model.Props(); - const float zero_epsilon = ai_epsilon; + const auto zero_epsilon = ai_epsilon; const aiVector3D all_ones(1.0f, 1.0f, 1.0f); for (size_t i = 0; i < TransformationComp_MAXIMUM; ++i) { const TransformationComp comp = static_cast(i); @@ -3232,7 +3232,7 @@ aiNodeAnim* FBXConverter::GenerateSimpleNodeAnim(const std::string& name, bool ok = false; - const float zero_epsilon = ai_epsilon; + const auto zero_epsilon = ai_epsilon; const aiVector3D& preRotation = PropertyGet(props, "PreRotation", ok); if (ok && preRotation.SquareLength() > zero_epsilon) { @@ -3370,9 +3370,9 @@ FBXConverter::KeyFrameListList FBXConverter::GetRotationKeyframeList(const std:: float vc = curve->GetValues().at(1); for (size_t n = 1; n < count; n++) { while (std::abs(vc - vp) >= 180.0f) { - float step = std::floor(float(tc - tp) / (vc - vp) * 179.0f); + double step = std::floor(double(tc - tp) / std::abs(vc - vp) * 179.0f); int64_t tnew = tp + int64_t(step); - float vnew = vp + (vc - vp) * step / float(tc - tp); + float vnew = vp + (vc - vp) * float(step / (tc - tp)); if (tnew >= adj_start && tnew <= adj_stop) { Keys->push_back(tnew); Values->push_back(vnew); diff --git a/code/AssetLib/glTF2/glTF2Exporter.cpp b/code/AssetLib/glTF2/glTF2Exporter.cpp index ffd8d223e..d2f413932 100644 --- a/code/AssetLib/glTF2/glTF2Exporter.cpp +++ b/code/AssetLib/glTF2/glTF2Exporter.cpp @@ -908,7 +908,7 @@ Ref FindSkeletonRootJoint(Ref &skinRef) { do { startNodeRef = parentNodeRef; parentNodeRef = startNodeRef->parent; - } while (!parentNodeRef->jointName.empty()); + } while (parentNodeRef && !parentNodeRef->jointName.empty()); return parentNodeRef; } diff --git a/contrib/unzip/crypt.c b/contrib/unzip/crypt.c index 299ce03d2..4cc731b3e 100644 --- a/contrib/unzip/crypt.c +++ b/contrib/unzip/crypt.c @@ -43,10 +43,10 @@ #include "crypt.h" -#ifdef _WIN32 +#ifdef _MSC_VER # pragma warning(push) # pragma warning(disable : 4244) -#endif // _WIN32 +#endif // _MSC_VER /***************************************************************************/ @@ -164,8 +164,8 @@ int crypthead(const char *passwd, uint8_t *buf, int buf_size, uint32_t *pkeys, return n; } -#ifdef _WIN32 +#ifdef _MSC_VER # pragma warning(pop) -#endif // _WIN32 +#endif // _MSC_VER /***************************************************************************/ diff --git a/contrib/unzip/ioapi.c b/contrib/unzip/ioapi.c index 30a296d0f..d9ae01e7d 100644 --- a/contrib/unzip/ioapi.c +++ b/contrib/unzip/ioapi.c @@ -23,8 +23,10 @@ #ifdef _WIN32 # define snprintf _snprintf +#ifdef _MSC_VER # pragma warning(push) # pragma warning(disable : 4131 4100) +#endif # ifdef __clang__ # pragma clang diagnostic push # pragma clang diagnostic ignored "-Wunused-parameter" @@ -357,9 +359,9 @@ void fill_fopen64_filefunc(zlib_filefunc64_def *pzlib_filefunc_def) pzlib_filefunc_def->opaque = NULL; } -#ifdef _WIN32 +#ifdef _MSC_VER # pragma warning(pop) # ifdef __clang__ # pragma clang diagnostic pop # endif -#endif // _WIN32 +#endif // _MSC_VER diff --git a/contrib/unzip/unzip.c b/contrib/unzip/unzip.c index f1eddeeda..b2f045b0a 100644 --- a/contrib/unzip/unzip.c +++ b/contrib/unzip/unzip.c @@ -73,10 +73,10 @@ # define TRYFREE(p) {if (p) free(p);} #endif -#ifdef _WIN32 +#ifdef _MSC_VER # pragma warning(push) # pragma warning(disable : 4131 4244 4189 4245) -#endif // _WIN32 +#endif // _MSC_VER const char unz_copyright[] = " unzip 1.01 Copyright 1998-2004 Gilles Vollant - http://www.winimage.com/zLibDll"; @@ -1995,6 +1995,6 @@ extern int ZEXPORT unzEndOfFile(unzFile file) return 0; } -#ifdef _WIN32 +#ifdef _MSC_VER # pragma warning(pop) -#endif // _WIN32 \ No newline at end of file +#endif // _MSC_VER \ No newline at end of file