diff options
| -rw-r--r-- | mrbgems/mruby-io/src/io.c | 2 | ||||
| -rw-r--r-- | src/class.c | 5 | ||||
| -rw-r--r-- | src/string.c | 2 |
3 files changed, 6 insertions, 3 deletions
diff --git a/mrbgems/mruby-io/src/io.c b/mrbgems/mruby-io/src/io.c index 57f4025d6..3d9d2b48a 100644 --- a/mrbgems/mruby-io/src/io.c +++ b/mrbgems/mruby-io/src/io.c @@ -1493,7 +1493,7 @@ mrb_io_readchar(mrb_state *mrb, mrb_value self) #endif mrb_get_args(mrb, "S", &buf); - mrb_assert(RSTRING_PTR(buf) > 0); + mrb_assert(RSTRING_PTR(buf) != NULL); mrb_str_modify(mrb, RSTRING(buf)); #ifdef MRB_UTF8_STRING c = RSTRING_PTR(buf)[0]; diff --git a/src/class.c b/src/class.c index b0af74e74..d30edd41e 100644 --- a/src/class.c +++ b/src/class.c @@ -1728,7 +1728,10 @@ mrb_class_real(struct RClass* cl) MRB_API const char* mrb_class_name(mrb_state *mrb, struct RClass* c) { - mrb_value name = class_name_str(mrb, c); + mrb_value name; + + if (c == NULL) return NULL; + name = class_name_str(mrb, c); return RSTRING_PTR(name); } 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 |
