summaryrefslogtreecommitdiffhomepage
path: root/src/string.c
diff options
context:
space:
mode:
authorMasaki Muranaka <[email protected]>2013-03-13 17:28:26 +0900
committerMasaki Muranaka <[email protected]>2013-03-13 17:28:26 +0900
commitfe057faf1b995f65b0daca6f264cb6b81d2dcb71 (patch)
tree11f10eab6ebcf82a3eb9610b3e3d9462bf522dc4 /src/string.c
parentc9f3fd477912fa4a822f750fc15df77841828d44 (diff)
downloadmruby-fe057faf1b995f65b0daca6f264cb6b81d2dcb71.tar.gz
mruby-fe057faf1b995f65b0daca6f264cb6b81d2dcb71.zip
Add the type check in mrb_str_to_cstr().
Diffstat (limited to 'src/string.c')
-rw-r--r--src/string.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/string.c b/src/string.c
index f5ac7b578..d34256e63 100644
--- a/src/string.c
+++ b/src/string.c
@@ -262,6 +262,10 @@ mrb_str_to_cstr(mrb_state *mrb, mrb_value str0)
{
mrb_value str;
+ if (!mrb_string_p(str0)) {
+ mrb_raise(mrb, E_TYPE_ERROR, "expected String");
+ }
+
str = mrb_str_new(mrb, RSTRING_PTR(str0), RSTRING_LEN(str0));
if (strlen(RSTRING_PTR(str)) != RSTRING_LEN(str)) {
mrb_raise(mrb, E_ARGUMENT_ERROR, "string contains null byte");