diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2021-08-17 18:45:36 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2021-08-17 18:45:36 +0900 |
commit | edf01d4e82d8e44ee30ec41fbcb7f802bc8b8c5d (patch) | |
tree | d16984356acf44224993ea846e2f3f1ae4007c3b /string.c | |
parent | 21fd83a823145042767cc5f237b41cc6bb51f2e9 (diff) | |
download | ruby-edf01d4e82d8e44ee30ec41fbcb7f802bc8b8c5d.tar.gz |
Treat NULL fake string as an empty string
And the NULL string must be of size 0.
Diffstat (limited to 'string.c')
-rw-r--r-- | string.c | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -413,6 +413,11 @@ setup_fake_str(struct RString *fake_str, const char *name, long len, int encidx) fake_str->basic.flags = T_STRING|RSTRING_NOEMBED|STR_NOFREE|STR_FAKESTR; /* SHARED to be allocated by the callback */ + if (!name) { + RUBY_ASSERT_ALWAYS(len == 0); + name = ""; + } + ENCODING_SET_INLINED((VALUE)fake_str, encidx); RBASIC_SET_CLASS_RAW((VALUE)fake_str, rb_cString); |