From 5a70af1d59b85c4987330b5ff8e3ef1cbb6e5668 Mon Sep 17 00:00:00 2001 From: ko1 Date: Tue, 18 Jun 2013 21:30:42 +0000 Subject: [PATCH] * vm.c (kwmerge_i): add WB. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41399 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ vm.c | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index b98784509a..5168aa58dd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Wed Jun 19 06:29:31 2013 Koichi Sasada + + * vm.c (kwmerge_i): add WB. + Wed Jun 19 06:26:49 2013 Koichi Sasada * hash.c: `st_update()' also has same issue of last fix. diff --git a/vm.c b/vm.c index 69b41639f0..fe5f0806be 100644 --- a/vm.c +++ b/vm.c @@ -2174,7 +2174,9 @@ static int kwmerge_i(VALUE key, VALUE value, VALUE hash) { if (!SYMBOL_P(key)) Check_Type(key, T_SYMBOL); - st_update(RHASH_TBL(hash), key, kwmerge_ii, (st_data_t)value); + if (st_update(RHASH_TBL(hash), key, kwmerge_ii, (st_data_t)value) == 0) { /* !existing */ + OBJ_WRITTEN(hash, Qundef, value); + } return ST_CONTINUE; }