[ruby-dev:31774] RSTRING(value)->ptr == NULL ?

From: Tietew <tietew+ruby-dev@...>
Date: 2007-09-11 08:04:26 UTC
List: ruby-dev #31774
Tietew です。

RString::ptr が NULL な String をライブラリに渡した際に SEGV を
起こすことがあります。

具体的には例えば
  require 'rubygems'
  require 'idn'
  IDN::Idna.toASCII(" ".chop.downcase)
が SEGV ります。

idna.c は
  rb_check_convert_type(str, T_STRING, "String", "to_s");
を呼んでいますが、StringValue() はしていません。
んで RSTRING(str)->ptr が NULL のママ idna_to_ascii_8z を呼んで、
その中で SEGV します。

これは StringValue() しない idna.c が悪いんでしょうか。




-- 
Tietew <tietew@tietew.net>
Blog: http://www.tietew.jp/
PGP: 26CB 71BB B595 09C4 0153  81C4 773C 963A D51B 8CAA


In This Thread

Prev Next