summaryrefslogtreecommitdiffhomepage
path: root/mrbgems
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2020-09-25 22:54:25 +0900
committerGitHub <[email protected]>2020-09-25 22:54:25 +0900
commit9ea7b718683386d2dc0787e919fc3d413ab20e67 (patch)
treea353c837094f8aab25a8e26474284ff78a151734 /mrbgems
parenta97f085c52c3a98ffd26e69ac1fd0d43dc83864c (diff)
parent57611240a972932ef26a13c6998a7fa90fd33371 (diff)
downloadmruby-9ea7b718683386d2dc0787e919fc3d413ab20e67.tar.gz
mruby-9ea7b718683386d2dc0787e919fc3d413ab20e67.zip
Merge pull request #5087 from dearblue/get-args-string
Prohibit string changes by "s"/"z" specifier of `mrb_get_args()`
Diffstat (limited to 'mrbgems')
-rw-r--r--mrbgems/mruby-eval/src/eval.c10
-rw-r--r--mrbgems/mruby-io/src/file.c3
-rw-r--r--mrbgems/mruby-socket/src/socket.c6
-rw-r--r--mrbgems/mruby-string-ext/src/string.c10
4 files changed, 17 insertions, 12 deletions
diff --git a/mrbgems/mruby-eval/src/eval.c b/mrbgems/mruby-eval/src/eval.c
index eaf07cabe..af6837b81 100644
--- a/mrbgems/mruby-eval/src/eval.c
+++ b/mrbgems/mruby-eval/src/eval.c
@@ -12,7 +12,7 @@ mrb_value mrb_obj_instance_eval(mrb_state *mrb, mrb_value self);
void mrb_codedump_all(mrb_state*, struct RProc*);
static struct RProc*
-create_proc_from_string(mrb_state *mrb, char *s, mrb_int len, mrb_value binding, const char *file, mrb_int line)
+create_proc_from_string(mrb_state *mrb, const char *s, mrb_int len, mrb_value binding, const char *file, mrb_int line)
{
mrbc_context *cxt;
struct mrb_parser_state *p;
@@ -131,10 +131,10 @@ exec_irep(mrb_state *mrb, mrb_value self, struct RProc *proc)
static mrb_value
f_eval(mrb_state *mrb, mrb_value self)
{
- char *s;
+ const char *s;
mrb_int len;
mrb_value binding = mrb_nil_value();
- char *file = NULL;
+ const char *file = NULL;
mrb_int line = 1;
struct RProc *proc;
@@ -154,9 +154,9 @@ f_instance_eval(mrb_state *mrb, mrb_value self)
mrb_get_args(mrb, "*!&", &argv, &argc, &b);
if (mrb_nil_p(b)) {
- char *s;
+ const char *s;
mrb_int len;
- char *file = NULL;
+ const char *file = NULL;
mrb_int line = 1;
mrb_value cv;
struct RProc *proc;
diff --git a/mrbgems/mruby-io/src/file.c b/mrbgems/mruby-io/src/file.c
index d3c4b3885..53ed4b69d 100644
--- a/mrbgems/mruby-io/src/file.c
+++ b/mrbgems/mruby-io/src/file.c
@@ -557,7 +557,8 @@ mrb_file_s_readlink(mrb_state *mrb, mrb_value klass) {
mrb_raise(mrb, E_NOTIMP_ERROR, "readlink is not supported on this platform");
return mrb_nil_value(); // unreachable
#else
- char *path, *buf, *tmp;
+ const char *path;
+ char *buf, *tmp;
size_t bufsize = 100;
ssize_t rc;
mrb_value ret;
diff --git a/mrbgems/mruby-socket/src/socket.c b/mrbgems/mruby-socket/src/socket.c
index 916309bcf..a819dcb29 100644
--- a/mrbgems/mruby-socket/src/socket.c
+++ b/mrbgems/mruby-socket/src/socket.c
@@ -515,7 +515,8 @@ static mrb_value
mrb_ipsocket_ntop(mrb_state *mrb, mrb_value klass)
{
mrb_int af, n;
- char *addr, buf[50];
+ const char *addr;
+ char buf[50];
mrb_get_args(mrb, "is", &af, &addr, &n);
if ((af == AF_INET && n != 4) || (af == AF_INET6 && n != 16))
@@ -529,7 +530,8 @@ static mrb_value
mrb_ipsocket_pton(mrb_state *mrb, mrb_value klass)
{
mrb_int af, n;
- char *bp, buf[50];
+ const char *bp;
+ char buf[50];
mrb_get_args(mrb, "is", &af, &bp, &n);
if ((size_t)n > sizeof(buf) - 1)
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);