From: Ken Takata Date: 2012-03-16T00:43:56+09:00 Subject: [ruby-dev:45369] [ruby-trunk - Bug #6144] regexec may allocate extra memory? Issue #6144 has been updated by Ken Takata. > ただ、なぜわざわざ一度 char* 型の変数に代入しているのかはよく分かりません。 あ、stk_alloc の計算のために char* 型でなければならないのを見落としていました。 ---------------------------------------- Bug #6144: regexec may allocate extra memory? https://bugs.ruby-lang.org/issues/6144#change-24611 Author: Yusuke Endoh Status: Assigned Priority: Normal Assignee: Yui NARUSE Category: Target version: ruby -v: ruby 2.0.0dev (2012-03-14 trunk 35017) [i686-linux] naruse さん、k-takata さん 遠藤です。 多分鬼車の問題なんですが、regexec.c に alloc_addr = (char* )xalloca(sizeof(char*) * (ptr_num));\ という行があります。(#define STACK_INIT 内) 前後見てませんが、 alloc_addr = (char* )xalloca(sizeof(char) * (ptr_num));\ または alloc_addr = (char** )xalloca(sizeof(char*) * (ptr_num));\ と書きたかったんじゃないでしょうか。 たぶん前者かなーという予感はしますが、確認・修正して頂けます でしょうか。もし現状が正しかったらすみません。 やはり Coverity Scan さんが見つけてくれてました。 -- Yusuke Endoh -- http://bugs.ruby-lang.org/