diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-12-17 08:06:44 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-12-17 08:06:44 +0900 |
| commit | a19a6edb7c464af9dd4303659ceabe2672882a6b (patch) | |
| tree | f1a79ab32b9ab40fadd6c967ff60dc886911ed28 | |
| parent | 0c4d053a94613926a5f4bc4d5b6370aee5eec78a (diff) | |
| download | mruby-a19a6edb7c464af9dd4303659ceabe2672882a6b.tar.gz mruby-a19a6edb7c464af9dd4303659ceabe2672882a6b.zip | |
mrb_str_new(mrb, "", len) creates an unmodifiable string object; ref #2674
| -rw-r--r-- | mrbgems/mruby-string-ext/src/string.c | 2 | ||||
| -rw-r--r-- | src/string.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/mrbgems/mruby-string-ext/src/string.c b/mrbgems/mruby-string-ext/src/string.c index fa2c52d67..68d96cd6c 100644 --- a/mrbgems/mruby-string-ext/src/string.c +++ b/mrbgems/mruby-string-ext/src/string.c @@ -356,7 +356,7 @@ mrb_str_prepend(mrb_state *mrb, mrb_value self) } s2 = mrb_str_ptr(other); len = RSTR_LEN(s1) + RSTR_LEN(s2); - temp_str = mrb_str_new(mrb, "", RSTR_LEN(s1)); + temp_str = mrb_str_new(mrb, NULL, RSTR_LEN(s1)); temp_s = mrb_str_ptr(temp_str); memcpy(RSTR_PTR(temp_s), RSTR_PTR(s1), RSTR_LEN(s1)); if (RSTRING_CAPA(self) < len) { diff --git a/src/string.c b/src/string.c index 23cd76747..1c54ffa72 100644 --- a/src/string.c +++ b/src/string.c @@ -163,7 +163,7 @@ str_new(mrb_state *mrb, const char *p, size_t len) { struct RString *s; - if (mrb_ro_data_p(p)) { + if (p && mrb_ro_data_p(p)) { return str_new_static(mrb, p, len); } s = mrb_obj_alloc_string(mrb); |
