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
This commit is contained in:
Sergey Sharybin 2020-05-18 11:09:48 +02:00
parent 9796cb1661
commit b1492b76ba
1 changed files with 1 additions and 1 deletions

View File

@ -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;
}