summaryrefslogtreecommitdiff
path: root/shape.c
diff options
context:
space:
mode:
authorAaron Patterson <tenderlove@ruby-lang.org>2022-10-12 08:54:02 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2022-10-12 09:56:11 -0700
commit107531583c8e8b2d706a6a27f46d429e387efff7 (patch)
tree01bcddbfeb044203587d64e1bd1f083af0767232 /shape.c
parentb55e3b842a8cf4349914b05cebf00ab53024ae69 (diff)
downloadruby-107531583c8e8b2d706a6a27f46d429e387efff7.tar.gz
Unwrap shape id as unsigned int
Shape IDs are unsigned. This commit unwraps the shape id as an unsigned int, which will automatically raise an argument error and also eliminate a compilation warning.
Diffstat (limited to 'shape.c')
-rw-r--r--shape.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/shape.c b/shape.c
index 80d135b897..f21b9a4ece 100644
--- a/shape.c
+++ b/shape.c
@@ -514,8 +514,8 @@ rb_shape_flags_mask(void)
static VALUE
rb_shape_find_by_id(VALUE mod, VALUE id)
{
- shape_id_t shape_id = NUM2INT(id);
- if (shape_id < 0 || shape_id >= GET_VM()->next_shape_id) {
+ shape_id_t shape_id = NUM2UINT(id);
+ if (shape_id >= GET_VM()->next_shape_id) {
rb_raise(rb_eArgError, "Shape ID %d is out of bounds\n", shape_id);
}
return rb_shape_t_to_rb_cShape(rb_shape_get_shape_by_id(shape_id));