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-socket/src/socket.c | |
| 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-socket/src/socket.c')
| -rw-r--r-- | mrbgems/mruby-socket/src/socket.c | 6 |
1 files changed, 4 insertions, 2 deletions
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) |
