diff --git a/extern/agg24-svn/include/agg_rasterizer_cells_aa.h b/extern/agg24-svn/include/agg_rasterizer_cells_aa.h index 3809bdb70510..d1cc705405dc 100644 --- a/extern/agg24-svn/include/agg_rasterizer_cells_aa.h +++ b/extern/agg24-svn/include/agg_rasterizer_cells_aa.h @@ -329,6 +329,7 @@ namespace agg int cy = (y1 + y2) >> 1; line(x1, y1, cx, cy); line(cx, cy, x2, y2); + return; } int dy = y2 - y1; diff --git a/src/_backend_agg.cpp b/src/_backend_agg.cpp index de06d0bfb2ab..6ae11167e884 100644 --- a/src/_backend_agg.cpp +++ b/src/_backend_agg.cpp @@ -29,7 +29,7 @@ RendererAgg::RendererAgg(unsigned int width, unsigned int height, double dpi) : width(width), height(height), dpi(dpi), - NUMBYTES(width * height * 4), + NUMBYTES((size_t)width * (size_t)height * 4), pixBuffer(NULL), renderingBuffer(), alphaBuffer(NULL), diff --git a/src/_backend_agg_wrapper.cpp b/src/_backend_agg_wrapper.cpp index e08642e248ef..49a271b96b6a 100644 --- a/src/_backend_agg_wrapper.cpp +++ b/src/_backend_agg_wrapper.cpp @@ -95,7 +95,7 @@ int PyBufferRegion_get_buffer(PyBufferRegion *self, Py_buffer *buf, int flags) Py_INCREF(self); buf->obj = (PyObject *)self; buf->buf = self->x->get_data(); - buf->len = self->x->get_width() * self->x->get_height() * 4; + buf->len = (Py_ssize_t)self->x->get_width() * (Py_ssize_t)self->x->get_height() * 4; buf->readonly = 0; buf->format = (char *)"B"; buf->ndim = 3; @@ -531,7 +531,7 @@ int PyRendererAgg_get_buffer(PyRendererAgg *self, Py_buffer *buf, int flags) Py_INCREF(self); buf->obj = (PyObject *)self; buf->buf = self->x->pixBuffer; - buf->len = self->x->get_width() * self->x->get_height() * 4; + buf->len = (Py_ssize_t)self->x->get_width() * (Py_ssize_t)self->x->get_height() * 4; buf->readonly = 0; buf->format = (char *)"B"; buf->ndim = 3;