diff options
| author | dearblue <[email protected]> | 2020-09-24 22:25:26 +0900 |
|---|---|---|
| committer | dearblue <[email protected]> | 2020-09-25 21:02:58 +0900 |
| commit | 57611240a972932ef26a13c6998a7fa90fd33371 (patch) | |
| tree | a353c837094f8aab25a8e26474284ff78a151734 /mrbgems/mruby-string-ext/src | |
| parent | a97f085c52c3a98ffd26e69ac1fd0d43dc83864c (diff) | |
| download | mruby-57611240a972932ef26a13c6998a7fa90fd33371.tar.gz mruby-57611240a972932ef26a13c6998a7fa90fd33371.zip | |
Prohibit string changes by "s"/"z" specifier of `mrb_get_args()`
- The `s` specifier is a string pointer obtained without performing `mrb_str_modify()`, so it cannot be changed.
- The `z` specifier cannot be changed because it is a string pointer obtained by `RSTRING_CSTR()` which returns `const char *`.
Diffstat (limited to 'mrbgems/mruby-string-ext/src')
| -rw-r--r-- | mrbgems/mruby-string-ext/src/string.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/mrbgems/mruby-string-ext/src/string.c b/mrbgems/mruby-string-ext/src/string.c index 7cf146ec8..ded34a89e 100644 --- a/mrbgems/mruby-string-ext/src/string.c +++ b/mrbgems/mruby-string-ext/src/string.c @@ -1072,7 +1072,8 @@ static mrb_value mrb_str_del_prefix_bang(mrb_state *mrb, mrb_value self) { mrb_int plen, slen; - char *ptr, *s; + const char *ptr; + char *s; struct RString *str = RSTRING(self); mrb_get_args(mrb, "s", &ptr, &plen); @@ -1105,7 +1106,7 @@ static mrb_value mrb_str_del_prefix(mrb_state *mrb, mrb_value self) { mrb_int plen, slen; - char *ptr; + const char *ptr; mrb_get_args(mrb, "s", &ptr, &plen); slen = RSTRING_LEN(self); @@ -1129,7 +1130,8 @@ static mrb_value mrb_str_del_suffix_bang(mrb_state *mrb, mrb_value self) { mrb_int plen, slen; - char *ptr, *s; + const char *ptr; + char *s; struct RString *str = RSTRING(self); mrb_get_args(mrb, "s", &ptr, &plen); @@ -1160,7 +1162,7 @@ static mrb_value mrb_str_del_suffix(mrb_state *mrb, mrb_value self) { mrb_int plen, slen; - char *ptr; + const char *ptr; mrb_get_args(mrb, "s", &ptr, &plen); slen = RSTRING_LEN(self); |
