Skip to content

Commit

Permalink
Merge pull request #5122 from radarhere/warnings
Browse files Browse the repository at this point in the history
  • Loading branch information
hugovk committed Dec 22, 2020
2 parents d0c685f + 36dc83e commit ce3d80e
Show file tree
Hide file tree
Showing 5 changed files with 12 additions and 10 deletions.
2 changes: 1 addition & 1 deletion src/_imaging.c
Expand Up @@ -3928,7 +3928,7 @@ _set_blocks_max(PyObject* self, PyObject* args)
"blocks_max should be greater than 0");
return NULL;
}
else if ( blocks_max > SIZE_MAX/sizeof(ImagingDefaultArena.blocks_pool[0])) {
else if ( (unsigned long)blocks_max > SIZE_MAX/sizeof(ImagingDefaultArena.blocks_pool[0])) {
PyErr_SetString(PyExc_ValueError,
"blocks_max is too large");
return NULL;
Expand Down
6 changes: 3 additions & 3 deletions src/libImaging/Draw.c
Expand Up @@ -1115,7 +1115,7 @@ int clip_tree_do_clip(clip_node* root, int32_t x0, int32_t y, int32_t x1, event_
if ((root->type == CT_OR && (
(t->type == 1 && (tail == NULL || tail->type == -1)) ||
(t->type == -1 && k1 == 0 && k2 == 0)
)) ||
)) ||
(root->type == CT_AND && (
(t->type == 1 && (tail == NULL || tail->type == -1) && k1 > 0 && k2 > 0) ||
(t->type == -1 && tail != NULL && tail->type == 1 && (k1 == 0 || k2 == 0))
Expand Down Expand Up @@ -1359,7 +1359,7 @@ void pie_init(clip_ellipse_state* s, int32_t a, int32_t b, int32_t w, float al,
rc->a = yr;
rc->b = -xr;
rc->c = 0;

s->root = s->nodes + s->node_count++;
s->root->l = lc;
s->root->r = rc;
Expand Down Expand Up @@ -1630,7 +1630,7 @@ allocate(ImagingOutline outline, int extra)
/* malloc check ok, uses calloc for overflow */
e = calloc(outline->size, sizeof(Edge));
} else {
if (outline->size > INT_MAX / sizeof(Edge)) {
if (outline->size > INT_MAX / (int)sizeof(Edge)) {
return NULL;
}
/* malloc check ok, overflow checked above */
Expand Down
10 changes: 6 additions & 4 deletions src/libImaging/Jpeg2KDecode.c
Expand Up @@ -742,10 +742,12 @@ j2k_decode_entry(Imaging im, ImagingCodecState state)
swapped), bail. */
if (tile_info.x0 >= tile_info.x1
|| tile_info.y0 >= tile_info.y1
|| tile_info.x0 < (OPJ_INT32)image->x0
|| tile_info.y0 < (OPJ_INT32)image->y0
|| tile_info.x1 - image->x0 > im->xsize
|| tile_info.y1 - image->y0 > im->ysize) {
|| tile_info.x0 < 0
|| tile_info.y0 < 0
|| (OPJ_UINT32)tile_info.x0 < image->x0
|| (OPJ_UINT32)tile_info.y0 < image->y0
|| (OPJ_INT32)(tile_info.x1 - image->x0) > im->xsize
|| (OPJ_INT32)(tile_info.y1 - image->y0) > im->ysize) {
state->errcode = IMAGING_CODEC_BROKEN;
state->state = J2K_STATE_FAILED;
goto quick_exit;
Expand Down
2 changes: 1 addition & 1 deletion src/libImaging/RankFilter.c
Expand Up @@ -72,7 +72,7 @@ ImagingRankFilter(Imaging im, int size, int rank)

/* malloc check ok, for overflow in the define below */
if (size > INT_MAX / size ||
size > INT_MAX / (size * sizeof(FLOAT32))) {
size > INT_MAX / (size * (int)sizeof(FLOAT32))) {
return (Imaging) ImagingError_ValueError("filter size too large");
}

Expand Down
2 changes: 1 addition & 1 deletion src/libImaging/Resample.c
Expand Up @@ -208,7 +208,7 @@ precompute_coeffs(int inSize, float in0, float in1, int outSize,
ksize = (int) ceil(support) * 2 + 1;

// check for overflow
if (outSize > INT_MAX / (ksize * sizeof(double))) {
if (outSize > INT_MAX / (ksize * (int)sizeof(double))) {
ImagingError_MemoryError();
return 0;
}
Expand Down

0 comments on commit ce3d80e

Please sign in to comment.