[#47562] [Backport 200 - Backport #8716][Open] segmation fault 正規表現で大量のグループを利用時 — "taka-yoshi (taka-yoshi taka)" <smokeonthewater222@...>

15 messages 2013/08/01

[#47569] [ruby-trunk - Feature #8726][Open] Class#source_location — "takiuchi (Genki Takiuchi)" <genki@...21g.com>

14 messages 2013/08/03

[ruby-dev:47582] [ruby-trunk - Bug #8731][Open] Problems when parsing notation decl and entity decl with REXML::Parsers::SAX2Parser

From: "ohai (Ippei Obayashi)" <redmine@...>
Date: 2013-08-04 09:01:03 UTC
List: ruby-dev #47582
Issue #8731 has been reported by ohai (Ippei Obayashi).

----------------------------------------
Bug #8731: Problems when parsing notation decl and entity decl with REXML::Parsers::SAX2Parser
https://bugs.ruby-lang.org/issues/8731

Author: ohai (Ippei Obayashi)
Status: Open
Priority: Normal
Assignee: 
Category: lib
Target version: 
ruby -v: ruby 2.1.0dev (2013-08-04 trunk 42372) [x86_64-linux]
Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN


以下のコード(sax2parser_decl_error.rb)を実行すると例外が発生します。
  require 'rexml/parsers/sax2parser'
  require 'rexml/sax2listener'
  
  xml = <<EOS
  <!DOCTYPE root [
    <!ENTITY % YN '"Yes"'>
    <!NOTATION x SYSTEM "URIx">
  ]>
  <root />
  EOS
  
  class Listener
    include REXML::SAX2Listener
  end
  
  parser = REXML::Parsers::SAX2Parser.new(xml)
  parser.listen(Listener.new)
  parser.parse
  # > test_sax2parser.rb:21:in `entitydecl': wrong number of arguments (3 for 1) (ArgumentError)
これは SAX2Parser#handle から SAX2Listener#entitydecl, notationdecl に渡す引数の個数が違っているのが問題です。

添付した rexml-sax2parser-fix.patch で修正されます。ユニットテストは rexml-sax2parser-unittest.patch です。
さらに、rexml-sax2listener-doc.patch でドキュメントの修正をしています。




-- 
http://bugs.ruby-lang.org/

In This Thread

Prev Next