summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-11-15 13:48:37 +0000
committermame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-11-15 13:48:37 +0000
commite20d736467c93723827c3afc9c7e72bb027fd326 (patch)
treef37b1cb001bc781e3c70a48a09ecb69c6b59dc9a
parentcb2235c112aade58af0f0c367b71f3a2662c89bc (diff)
* vm_eval.c (rb_funcall): ensure va_end after va_init_list. Coverity
Scan found this bug. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29798 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--vm_eval.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index c66e5b2aff..8a5886765d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Mon Nov 15 22:47:27 2010 Yusuke Endoh <mame@tsg.ne.jp>
+
+ * vm_eval.c (rb_funcall): ensure va_end after va_init_list. Coverity
+ Scan found this bug.
+
Mon Nov 15 08:36:12 2010 Aaron Patterson <aaron@tenderlovemaking.com>
* lib/racc/parser.rb (do_parse, yyparse): using class eval to define
diff --git a/vm_eval.c b/vm_eval.c
index 05fd3faeeb..c67e54c5e0 100644
--- a/vm_eval.c
+++ b/vm_eval.c
@@ -619,11 +619,12 @@ rb_funcall(VALUE recv, ID mid, int n, ...)
{
VALUE *argv;
va_list ar;
- va_init_list(ar, n);
if (n > 0) {
long i;
+ va_init_list(ar, n);
+
argv = ALLOCA_N(VALUE, n);
for (i = 0; i < n; i++) {