libstdc++: Fix null dereference in pb_ds containers
This fixes ubsan errors: ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp:533:15: runtime error: member access within null pointer of type 'struct entry' libstdc++-v3/ChangeLog: * include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp (find_key_pointer(key_const_reference, false_type)) (find_key_pointer(key_const_reference, true_type)): Do not dereference null pointer.
This commit is contained in:
parent
6fb8b67089
commit
ca871701c2
@ -524,13 +524,16 @@ namespace __gnu_pbds
|
||||
|
||||
resize_base::notify_find_search_end();
|
||||
|
||||
#ifdef _GLIBCXX_DEBUG
|
||||
if (p_e == 0)
|
||||
PB_DS_CHECK_KEY_DOES_NOT_EXIST(r_key)
|
||||
{
|
||||
PB_DS_CHECK_KEY_DOES_NOT_EXIST(r_key)
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
PB_DS_CHECK_KEY_EXISTS(r_key)
|
||||
#endif
|
||||
return &p_e->m_value;
|
||||
{
|
||||
PB_DS_CHECK_KEY_EXISTS(r_key)
|
||||
return &p_e->m_value;
|
||||
}
|
||||
}
|
||||
|
||||
inline pointer
|
||||
@ -550,13 +553,16 @@ namespace __gnu_pbds
|
||||
|
||||
resize_base::notify_find_search_end();
|
||||
|
||||
#ifdef _GLIBCXX_DEBUG
|
||||
if (p_e == 0)
|
||||
PB_DS_CHECK_KEY_DOES_NOT_EXIST(r_key)
|
||||
{
|
||||
PB_DS_CHECK_KEY_DOES_NOT_EXIST(r_key)
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
PB_DS_CHECK_KEY_EXISTS(r_key)
|
||||
#endif
|
||||
return &p_e->m_value;
|
||||
{
|
||||
PB_DS_CHECK_KEY_EXISTS(r_key)
|
||||
return &p_e->m_value;
|
||||
}
|
||||
}
|
||||
|
||||
inline bool
|
||||
|
Loading…
Reference in New Issue
Block a user