Fix T37472: crash when packing UV islands.

This commit is contained in:
Campbell Barton 2013-11-19 11:18:00 +11:00
parent 965c1357c4
commit 4da651c8f0
Notes: blender-bot 2023-02-14 11:39:18 +01:00
Referenced by issue #37472, Blender crash when pack uv islands
Referenced by issue #37277, Smart UV Project Crashes Blender
2 changed files with 4 additions and 2 deletions

View File

@ -191,6 +191,8 @@ static int pointref_cmp_y(const void *a_, const void *b_)
* \param points An array of 2D points.
* \param n The number of points in points.
* \param r_points An array of the convex hull vertex indices (max is n).
* _must_ be allocated as ``n * 2`` becauise of how its used internally,
* even though the final result will be no more then \a n in size.
* \returns the number of points in r_points.
*/
int BLI_convexhull_2d(const float (*points)[2], const int n, int r_points[])
@ -310,7 +312,7 @@ float BLI_convexhull_aabb_fit_points_2d(const float (*points)[2], unsigned int n
float angle;
index_map = MEM_mallocN(sizeof(*index_map) * n, __func__);
index_map = MEM_mallocN(sizeof(*index_map) * n * 2, __func__);
tot = BLI_convexhull_2d((const float (*)[2])points, (int)n, index_map);

View File

@ -1563,7 +1563,7 @@ static PyObject *M_Geometry_convex_hull_2d(PyObject *UNUSED(self), PyObject *poi
int *index_map;
Py_ssize_t len_ret, i;
index_map = MEM_mallocN(sizeof(*index_map) * len, __func__);
index_map = MEM_mallocN(sizeof(*index_map) * len * 2, __func__);
/* Non Python function */
len_ret = BLI_convexhull_2d((const float (*)[2])points, len, index_map);