* eval_intern.h (CHECK_STACK_OVERFLOW): it was not intended to add

size_t to a pointer typed VALUE*.  Coverity Scan found this defect.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29800 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
mame 2010-11-15 14:57:18 +00:00
Родитель 7b7210439c
Коммит 9ffd060b30
2 изменённых файлов: 6 добавлений и 1 удалений

Просмотреть файл

@ -1,3 +1,8 @@
Mon Nov 15 23:54:45 2010 Yusuke Endoh <mame@tsg.ne.jp>
* eval_intern.h (CHECK_STACK_OVERFLOW): it was not intended to add
size_t to a pointer typed VALUE*. Coverity Scan found this defect.
Mon Nov 15 23:41:21 2010 Yusuke Endoh <mame@tsg.ne.jp>
* compile.c (iseq_set_exception_local_table, iseq_set_local_table,

Просмотреть файл

@ -172,7 +172,7 @@ enum ruby_tag_type {
#define SCOPE_SET(f) (rb_vm_cref()->nd_visi = (f))
#define CHECK_STACK_OVERFLOW(cfp, margin) do \
if (((VALUE *)(cfp)->sp) + (margin) + sizeof(rb_control_frame_t) >= ((VALUE *)cfp)) { \
if ((VALUE *)((char *)(((VALUE *)(cfp)->sp) + (margin)) + sizeof(rb_control_frame_t)) >= ((VALUE *)cfp)) { \
rb_exc_raise(sysstack_error); \
} \
while (0)