diff --git a/Tests/test_imagepath.py b/Tests/test_imagepath.py index 0835fdb4361..cd850bb1c78 100644 --- a/Tests/test_imagepath.py +++ b/Tests/test_imagepath.py @@ -90,6 +90,7 @@ def test_path_odd_number_of_coordinates(): [ ([0, 1, 2, 3], (0.0, 1.0, 2.0, 3.0)), ([3, 2, 1, 0], (1.0, 0.0, 3.0, 2.0)), + (1, (0.0, 0.0, 0.0, 0.0)), ], ) def test_getbbox(coords, expected): diff --git a/src/path.c b/src/path.c index 4764c58aa04..64c767cb88d 100644 --- a/src/path.c +++ b/src/path.c @@ -57,7 +57,7 @@ alloc_array(Py_ssize_t count) { if ((unsigned long long)count > (SIZE_MAX / (2 * sizeof(double))) - 1) { return ImagingError_MemoryError(); } - xy = malloc(2 * count * sizeof(double) + 1); + xy = calloc(2 * count * sizeof(double) + 1, sizeof(double)); if (!xy) { ImagingError_MemoryError(); }