diff --git a/ChangeLog b/ChangeLog index b46aae2797..97cb304f8d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +Tue Feb 26 23:32:44 2013 Kouhei Sutou + + * lib/rexml/document.rb: move entity_expansion_limit accessor to ... + * lib/rexml/rexml.rb: ... here for consistency. + * lib/rexml/document.rb (REXML::Document.entity_expansion_limit): + deprecated. + * lib/rexml/document.rb (REXML::Document.entity_expansion_limit=): + deprecated. + Tue Feb 26 23:26:13 2013 Kouhei Sutou * lib/rexml/document.rb: move entity_expansion_limit accessor to ... diff --git a/lib/rexml/document.rb b/lib/rexml/document.rb index 76679d1c16..1c67da8718 100644 --- a/lib/rexml/document.rb +++ b/lib/rexml/document.rb @@ -243,16 +243,18 @@ module REXML Parsers::StreamParser.new( source, listener ).parse end - @@entity_expansion_limit = 10_000 - # Set the entity expansion limit. By default the limit is set to 10000. + # + # Deprecated. Use REXML.entity_expansion_limit= instead. def Document::entity_expansion_limit=( val ) - @@entity_expansion_limit = val + REXML.entity_expansion_limit = val end # Get the entity expansion limit. By default the limit is set to 10000. + # + # Deprecated. Use REXML.entity_expansion_limit= instead. def Document::entity_expansion_limit - return @@entity_expansion_limit + return REXML.entity_expansion_limit end # Set the entity expansion limit. By default the limit is set to 10240. @@ -273,7 +275,7 @@ module REXML def record_entity_expansion @entity_expansion_count += 1 - if @entity_expansion_count > @@entity_expansion_limit + if @entity_expansion_count > REXML.entity_expansion_limit raise "number of entity expansions exceeded, processing aborted." end end diff --git a/lib/rexml/rexml.rb b/lib/rexml/rexml.rb index bc59a30c64..472fadb7ee 100644 --- a/lib/rexml/rexml.rb +++ b/lib/rexml/rexml.rb @@ -29,6 +29,18 @@ module REXML Copyright = COPYRIGHT Version = VERSION + @@entity_expansion_limit = 10_000 + + # Set the entity expansion limit. By default the limit is set to 10000. + def self.entity_expansion_limit=( val ) + @@entity_expansion_limit = val + end + + # Get the entity expansion limit. By default the limit is set to 10000. + def self.entity_expansion_limit + return @@entity_expansion_limit + end + @@entity_expansion_text_limit = 10_240 # Set the entity expansion limit. By default the limit is set to 10240.