summaryrefslogtreecommitdiffhomepage
path: root/src/string.c
diff options
context:
space:
mode:
authordearblue <[email protected]>2020-04-29 16:57:25 +0900
committerdearblue <[email protected]>2020-04-29 16:59:16 +0900
commit49b2e8c3a9ef9a0ba115c000327c0bcd62911e44 (patch)
tree51e2fd4a413ca848690d0606f11b890f788ed4c8 /src/string.c
parente2ac2a82a5c344de3369a6f988ec40bb5510ab45 (diff)
downloadmruby-49b2e8c3a9ef9a0ba115c000327c0bcd62911e44.tar.gz
mruby-49b2e8c3a9ef9a0ba115c000327c0bcd62911e44.zip
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.
Diffstat (limited to 'src/string.c')
-rw-r--r--src/string.c2
1 files changed, 1 insertions, 1 deletions
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