summaryrefslogtreecommitdiff
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
parentb55e3b842a8cf4349914b05cebf00ab53024ae69 (diff)
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.
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/6535
-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));