diff options
author | Jörg Frings-Fürst <debian@jff.email> | 2020-11-08 10:58:30 +0100 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff.email> | 2020-11-08 10:58:30 +0100 |
commit | fc9ba4264eafbb5a6ec0f3cc4cd2e1964c9b8fcf (patch) | |
tree | 465568f63d306c1de9bb8b934b08ee4f033050ad /src/st.c | |
parent | 6b986090d954dbac91bbb3c43ce7c3328c91a780 (diff) |
New upstream version 6.9.6upstream/6.9.6
Diffstat (limited to 'src/st.c')
-rw-r--r-- | src/st.c | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -151,6 +151,7 @@ st_init_table_with_size(type, size) #endif size = new_size(size); /* round up to prime number */ + if (size <= 0) return 0; tbl = alloc(st_table); if (tbl == 0) return 0; @@ -318,10 +319,13 @@ rehash(table) register st_table *table; { register st_table_entry *ptr, *next, **new_bins; - int i, old_num_bins = table->num_bins, new_num_bins; + int i, new_num_bins, old_num_bins; unsigned int hash_val; - new_num_bins = new_size(old_num_bins+1); + old_num_bins = table->num_bins; + new_num_bins = new_size(old_num_bins + 1); + if (new_num_bins <= 0) return ; + new_bins = (st_table_entry**)Calloc(new_num_bins, sizeof(st_table_entry*)); if (new_bins == 0) { return ; |