Skip to content

Commit 87c6c6e

Browse files
author
lishuangquan
committed
expiring_lru_cached_adapter: handle index out of range for
missed_values: bugfix Change-Id: I52ec590459a152785e8ee436a10560c5819bc309
1 parent 1ed5851 commit 87c6c6e

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

cache/expiring_lru_cached_adapter.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,11 +131,11 @@ class expiring_lru_cached_adapter {
131131
catch (...) {
132132
got_origin_value = false;
133133
}
134-
for (size_t i = 0; i < missed_keys.size(); ++i) {
134+
for (size_t i = 0, missed_values_size = missed_values.size(); i < missed_keys.size(); ++i) {
135135
size_t pos = missed_poses[i];
136136
size_t cache_id = cache_ids[pos];
137137
std::unique_lock<std::mutex> lk(__mtxes[cache_id]);
138-
if (got_origin_value) {
138+
if (got_origin_value && i < missed_values_size) {
139139
values[pos] = missed_values[i];
140140
__caches[cache_id].set(missed_keys[i], missed_values[i]);
141141
}

0 commit comments

Comments
 (0)