Skip to content

Commit

Permalink
bpo-39943: Properly const the pointers in dictkeys_get_index (GH-19170)
Browse files Browse the repository at this point in the history
  • Loading branch information
petdance committed Mar 26, 2020
1 parent cb6534e commit 62d21c9
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions Objects/dictobject.c
Original file line number Diff line number Diff line change
Expand Up @@ -331,27 +331,27 @@ dictkeys_decref(PyDictKeysObject *dk)

/* lookup indices. returns DKIX_EMPTY, DKIX_DUMMY, or ix >=0 */
static inline Py_ssize_t
dictkeys_get_index(PyDictKeysObject *keys, Py_ssize_t i)
dictkeys_get_index(const PyDictKeysObject *keys, Py_ssize_t i)
{
Py_ssize_t s = DK_SIZE(keys);
Py_ssize_t ix;

if (s <= 0xff) {
int8_t *indices = (int8_t*)(keys->dk_indices);
const int8_t *indices = (const int8_t*)(keys->dk_indices);
ix = indices[i];
}
else if (s <= 0xffff) {
int16_t *indices = (int16_t*)(keys->dk_indices);
const int16_t *indices = (const int16_t*)(keys->dk_indices);
ix = indices[i];
}
#if SIZEOF_VOID_P > 4
else if (s > 0xffffffff) {
int64_t *indices = (int64_t*)(keys->dk_indices);
const int64_t *indices = (const int64_t*)(keys->dk_indices);
ix = indices[i];
}
#endif
else {
int32_t *indices = (int32_t*)(keys->dk_indices);
const int32_t *indices = (const int32_t*)(keys->dk_indices);
ix = indices[i];
}
assert(ix >= DKIX_DUMMY);
Expand Down

0 comments on commit 62d21c9

Please sign in to comment.