mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
iseq.c: check srouce type
* iseq.c (rb_iseq_compile_with_option): check srouce type, must be an IO or a String. [ruby-core:69219] [Bug #11159] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50541 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
cdea1553b3
commit
b813198627
3 changed files with 13 additions and 0 deletions
|
@ -1,3 +1,8 @@
|
|||
Tue May 19 18:54:41 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* iseq.c (rb_iseq_compile_with_option): check srouce type, must be
|
||||
an IO or a String. [ruby-core:69219] [Bug #11159]
|
||||
|
||||
Tue May 19 17:15:03 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
|
||||
|
||||
* lib/benchmark.rb: Update Benchmark documentation and formatting.
|
||||
|
|
1
iseq.c
1
iseq.c
|
@ -582,6 +582,7 @@ rb_iseq_compile_with_option(VALUE src, VALUE file, VALUE absolute_path, VALUE li
|
|||
if (RB_TYPE_P((src), T_FILE))
|
||||
node = rb_parser_compile_file_path(parser, file, src, ln);
|
||||
else {
|
||||
StringValue(src);
|
||||
node = rb_parser_compile_string_path(parser, file, src, ln);
|
||||
|
||||
if (!node) {
|
||||
|
|
|
@ -134,4 +134,11 @@ class TestISeq < Test::Unit::TestCase
|
|||
assert(!op.to_s.match(/^opt_/), "#{op}")
|
||||
}
|
||||
end
|
||||
|
||||
def test_invalid_source
|
||||
bug11159 = '[ruby-core:69219] [Bug #11159]'
|
||||
assert_raise(TypeError, bug11159) {ISeq.compile(nil)}
|
||||
assert_raise(TypeError, bug11159) {ISeq.compile(:foo)}
|
||||
assert_raise(TypeError, bug11159) {ISeq.compile(1)}
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Reference in a new issue