Skip to content
  • NARUSE, Yui's avatar
    4e4a4e42
    merge revision(s) d2520b7b: [Backport #19439] · 4e4a4e42
    NARUSE, Yui authored
    	Marshal.load: restore instance variables on Regexp
    
    	[Bug #19439]
    
    	The instance variables were restore on the Regexp source,
    	not the regexp itself.
    
    	Unfortunately we have a bit of a chicken and egg problem.
    
    	The source holds the encoding, and the encoding need to be set on
    	the source to be able to instantiate the Regexp.
    
    	So the instance variables have to be read on the `source`.
    	To correct this we transfert the instance variables after
    	instantiating the Regexp.
    
    	The only way to avoid this would be to read the instance variable
    	twice and rewind.
    	---
    	 marshal.c                             | 20 ++++++++++++++++++--
    	 spec/ruby/core/marshal/shared/load.rb | 11 +++++++++++
    	 2 files changed, 29 insertions(+), 2 deletions(-)
    4e4a4e42
    merge revision(s) d2520b7b: [Backport #19439]
    NARUSE, Yui authored
    	Marshal.load: restore instance variables on Regexp
    
    	[Bug #19439]
    
    	The instance variables were restore on the Regexp source,
    	not the regexp itself.
    
    	Unfortunately we have a bit of a chicken and egg problem.
    
    	The source holds the encoding, and the encoding need to be set on
    	the source to be able to instantiate the Regexp.
    
    	So the instance variables have to be read on the `source`.
    	To correct this we transfert the instance variables after
    	instantiating the Regexp.
    
    	The only way to avoid this would be to read the instance variable
    	twice and rewind.
    	---
    	 marshal.c                             | 20 ++++++++++++++++++--
    	 spec/ruby/core/marshal/shared/load.rb | 11 +++++++++++
    	 2 files changed, 29 insertions(+), 2 deletions(-)
Loading