* io.c (rb_f_syscall): Fix buffer overflow with syscall
arguments. [ruby-bugs:PR#8541] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
fd81221a8e
commit
042f98830f
@ -1,3 +1,8 @@
|
|||||||
|
Tue Feb 13 02:21:12 2007 Sam Roberts <sroberts@uniserve.com>
|
||||||
|
|
||||||
|
* io.c (rb_f_syscall): Fix buffer overflow with syscall
|
||||||
|
arguments. [ruby-bugs:PR#8541]
|
||||||
|
|
||||||
Mon Feb 12 13:57:30 2007 Masaki Suketa <masaki.suketa@nifty.ne.jp>
|
Mon Feb 12 13:57:30 2007 Masaki Suketa <masaki.suketa@nifty.ne.jp>
|
||||||
|
|
||||||
* ext/win32ole/win32ole.c (ole_variant2val): support VT_I8, VT_UI8.
|
* ext/win32ole/win32ole.c (ole_variant2val): support VT_I8, VT_UI8.
|
||||||
|
2
io.c
2
io.c
@ -4980,6 +4980,8 @@ rb_f_syscall(int argc, VALUE *argv)
|
|||||||
rb_secure(2);
|
rb_secure(2);
|
||||||
if (argc == 0)
|
if (argc == 0)
|
||||||
rb_raise(rb_eArgError, "too few arguments for syscall");
|
rb_raise(rb_eArgError, "too few arguments for syscall");
|
||||||
|
if (argc > sizeof(arg) / sizeof(arg[0]))
|
||||||
|
rb_raise(rb_eArgError, "too many arguments for syscall");
|
||||||
arg[0] = NUM2LONG(argv[0]); argv++;
|
arg[0] = NUM2LONG(argv[0]); argv++;
|
||||||
while (items--) {
|
while (items--) {
|
||||||
VALUE v = rb_check_string_type(*argv);
|
VALUE v = rb_check_string_type(*argv);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user