Skip to content

Commit d1f9579

Browse files
committed
only validate range if max > min
1 parent cd28f1d commit d1f9579

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

shared-bindings/bitmaptools/__init__.c

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,20 @@
4545

4646
// This assigns to [0] and [2] because the order is x1, y1, x2, y2
4747
STATIC void bitmaptools_validate_coord_range(int16_t out[3], const mp_arg_val_t in[3], int lim, const qstr what[2]) {
48-
out[0] = mp_arg_validate_int_range(mp_arg_validate_type_int(in[0].u_obj, what[0]), 0, lim - 1, what[0]);
48+
if (lim -1 > 0){
49+
out[0] = mp_arg_validate_int_range(mp_arg_validate_type_int(in[0].u_obj, what[0]), 0, lim - 1, what[0]);
50+
}else{
51+
out[0] = mp_arg_validate_type_int(in[0].u_obj, what[0]);
52+
}
53+
4954
if (in[2].u_obj == mp_const_none) {
5055
out[2] = lim;
5156
} else {
52-
out[2] = mp_arg_validate_int_range(mp_arg_validate_type_int(in[2].u_obj, what[1]), out[0] + 1, lim, what[1]);
57+
if (lim > out[0] + 1){
58+
out[2] = mp_arg_validate_int_range(mp_arg_validate_type_int(in[2].u_obj, what[1]), out[0] + 1, lim, what[1]);
59+
}else{
60+
out[2] = mp_arg_validate_type_int(in[2].u_obj, what[1]);
61+
}
5362
}
5463
}
5564

0 commit comments

Comments
 (0)