Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2020-05-18 12:09:48 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2020-05-18 12:50:34 +0300
commitb1492b76bafd490ff6c9c9c6efdede9a756a16be (patch)
treed60a38747102e6dc0dae742613d1231d4763e7f5 /source/blender/io
parent9796cb166162b69170e1b842834d020e154ec8d9 (diff)
Alembic: Fix bad allocation with invalid knots data
It is not impossible that the number of knots is stored wrong in the file (for example, it will be 1 knot only). This change fixes bad memory allocation and bad memory access in such cases. It also fixes strict compiler warning which was mentioning that the allocation size is wrong), There isn't really the correct way of dealing with such situation, so simply fall back to Blender's knots calculation. Differential Revision: https://developer.blender.org/D7765
Diffstat (limited to 'source/blender/io')
-rw-r--r--source/blender/io/alembic/intern/abc_reader_nurbs.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/source/blender/io/alembic/intern/abc_reader_nurbs.cc b/source/blender/io/alembic/intern/abc_reader_nurbs.cc
index 10d9a35a8e1..5b9954b3ff6 100644
--- a/source/blender/io/alembic/intern/abc_reader_nurbs.cc
+++ b/source/blender/io/alembic/intern/abc_reader_nurbs.cc
@@ -71,7 +71,7 @@ bool AbcNurbsReader::valid() const
static bool set_knots(const FloatArraySamplePtr &knots, float *&nu_knots)
{
- if (!knots || knots->size() == 0) {
+ if (!knots || knots->size() < 2) {
return false;
}