diff --git a/src/string.c b/src/string.c index 8326fa3ab..0adf933c2 100644 --- a/src/string.c +++ b/src/string.c @@ -246,7 +246,8 @@ str_modify_keep_ascii(mrb_state *mrb, struct RString *s) static void check_null_byte(mrb_state *mrb, struct RString *str) { - if (memchr(RSTR_PTR(str), '\0', RSTR_LEN(str))) { + const char *p = RSTR_PTR(str); + if (p && memchr(p, '\0', RSTR_LEN(str))) { mrb_raise(mrb, E_ARGUMENT_ERROR, "string contains null byte"); } }