Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 8c0d73e

Browse filesBrowse files
committed
Fix leak if affine_transform is passed invalid vertices.
1 parent dba02be commit 8c0d73e
Copy full SHA for 8c0d73e

File tree

Expand file treeCollapse file tree

1 file changed

+4
-2
lines changed
Filter options
Expand file treeCollapse file tree

1 file changed

+4
-2
lines changed

‎src/_path_wrapper.cpp

Copy file name to clipboardExpand all lines: src/_path_wrapper.cpp
+4-2Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -453,17 +453,19 @@ static PyObject *Py_affine_transform(PyObject *self, PyObject *args, PyObject *k
453453

454454
if (PyArray_NDIM(vertices_arr) == 2) {
455455
numpy::array_view<double, 2> vertices(vertices_arr);
456+
Py_DECREF(vertices_arr);
457+
456458
npy_intp dims[] = { (npy_intp)vertices.size(), 2 };
457459
numpy::array_view<double, 2> result(dims);
458460
CALL_CPP("affine_transform", (affine_transform_2d(vertices, trans, result)));
459-
Py_DECREF(vertices_arr);
460461
return result.pyobj();
461462
} else { // PyArray_NDIM(vertices_arr) == 1
462463
numpy::array_view<double, 1> vertices(vertices_arr);
464+
Py_DECREF(vertices_arr);
465+
463466
npy_intp dims[] = { (npy_intp)vertices.size() };
464467
numpy::array_view<double, 1> result(dims);
465468
CALL_CPP("affine_transform", (affine_transform_1d(vertices, trans, result)));
466-
Py_DECREF(vertices_arr);
467469
return result.pyobj();
468470
}
469471
}

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.