Make type casts safer.

This commit is contained in:
Masaki Muranaka
2014-03-08 13:54:02 +09:00
parent 058bb18f28
commit 270d25bf2d
8 changed files with 245 additions and 151 deletions
+5 -1
View File
@@ -2067,8 +2067,12 @@ mrb_string_value_cstr(mrb_state *mrb, mrb_value *ptr)
{
struct RString *ps = mrb_str_ptr(*ptr);
char *s = STR_PTR(ps);
mrb_int len;
if (!s || STR_LEN(ps) != strlen(s)) {
len = STR_LEN(ps);
mrb_assert(len >= 0);
mrb_assert((size_t)len <= SIZE_MAX);
if (!s || (size_t)len != strlen(s)) {
mrb_raise(mrb, E_ARGUMENT_ERROR, "string contains null byte");
}
return s;