aboutsummaryrefslogtreecommitdiffstats
path: root/st.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-07-06 15:22:19 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-07-06 15:22:19 +0000
commit6a9b242a80fbb9b116df93f4ad16c5b603f57713 (patch)
tree9af25002cb34315e9966fec70d287a09dd4e0841 /st.c
parentd74fdfb14547bfebffdca35896639296c7a1c7e6 (diff)
downloadruby-6a9b242a80fbb9b116df93f4ad16c5b603f57713.tar.gz
st.c: fix uninitialized variable
* st.c (st_update): old_key is uninitialized by jump to the label unpacked. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46725 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'st.c')
-rw-r--r--st.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/st.c b/st.c
index 4c6e5092b2..3bb85c22be 100644
--- a/st.c
+++ b/st.c
@@ -821,7 +821,7 @@ st_update(st_table *table, st_data_t key, st_update_callback_func *func, st_data
{
st_index_t hash_val, bin_pos;
register st_table_entry *ptr, **last, *tmp;
- st_data_t value = 0;
+ st_data_t value = 0, old_key;
int retval, existing = 0;
hash_val = do_hash(key, table);
@@ -834,7 +834,7 @@ st_update(st_table *table, st_data_t key, st_update_callback_func *func, st_data
existing = 1;
}
{
- const st_data_t old_key = key;
+ old_key = key;
retval = (*func)(&key, &value, arg, existing);
if (!table->entries_packed) {
FIND_ENTRY(table, ptr, hash_val, bin_pos);
@@ -867,7 +867,7 @@ st_update(st_table *table, st_data_t key, st_update_callback_func *func, st_data
existing = 1;
}
{
- const st_data_t old_key = key;
+ old_key = key;
retval = (*func)(&key, &value, arg, existing);
unpacked:
switch (retval) {