From 49b2e8c3a9ef9a0ba115c000327c0bcd62911e44 Mon Sep 17 00:00:00 2001 From: dearblue Date: Wed, 29 Apr 2020 16:57:25 +0900 Subject: Makes `mrb_any_to_s()` accept an object whose class is `NULL` When using `mrb_any_to_s()` for debugging purposes, giving an object whose class is `NULL` no longer causes a SIGSEGV and no crash. This is achieved by making `mrb_class_name()` and `mrb_str_cat_cstr()` null safe. --- src/string.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/string.c') diff --git a/src/string.c b/src/string.c index 458c511dc..44e3c9069 100644 --- a/src/string.c +++ b/src/string.c @@ -2759,7 +2759,7 @@ mrb_str_cat(mrb_state *mrb, mrb_value str, const char *ptr, size_t len) MRB_API mrb_value mrb_str_cat_cstr(mrb_state *mrb, mrb_value str, const char *ptr) { - return mrb_str_cat(mrb, str, ptr, strlen(ptr)); + return mrb_str_cat(mrb, str, ptr, ptr ? strlen(ptr) : 0); } MRB_API mrb_value -- cgit v1.2.3