diff --git a/ChangeLog b/ChangeLog index cdded3c2ad..826e74d34c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Wed Feb 06 00:24:49 2008 Yusuke Endoh + + * hash.c (env_rassoc): remove access to free'd environment on mswin32. + Tue Feb 05 21:57:34 2008 Yusuke Endoh * vm.c (rb_call_super): pass a passed block when super is called via diff --git a/hash.c b/hash.c index 707f8a676f..0328d9d1aa 100644 --- a/hash.c +++ b/hash.c @@ -2372,8 +2372,9 @@ env_rassoc(VALUE dmy, VALUE obj) if (s++) { long len = strlen(s); if (RSTRING_LEN(obj) == len && strncmp(s, RSTRING_PTR(obj), len) == 0) { + VALUE result = rb_assoc_new(rb_tainted_str_new(*env, s-*env-1), obj); FREE_ENVIRON(environ); - return rb_assoc_new(rb_tainted_str_new(*env, s-*env-1), obj); + return result; } } env++; diff --git a/version.h b/version.h index d6fbfeac12..5e67fad50f 100644 --- a/version.h +++ b/version.h @@ -1,7 +1,7 @@ #define RUBY_VERSION "1.9.0" -#define RUBY_RELEASE_DATE "2008-02-05" +#define RUBY_RELEASE_DATE "2008-02-06" #define RUBY_VERSION_CODE 190 -#define RUBY_RELEASE_CODE 20080205 +#define RUBY_RELEASE_CODE 20080206 #define RUBY_PATCHLEVEL 0 #define RUBY_VERSION_MAJOR 1 @@ -9,7 +9,7 @@ #define RUBY_VERSION_TEENY 0 #define RUBY_RELEASE_YEAR 2008 #define RUBY_RELEASE_MONTH 2 -#define RUBY_RELEASE_DAY 5 +#define RUBY_RELEASE_DAY 6 #ifdef RUBY_EXTERN RUBY_EXTERN const char ruby_version[];