mirror of
https://github.com/WerWolv/ImHex.git
synced 2026-04-01 21:17:44 -05:00
fix: Make sure PerProvider don't get accessed using a nullptr provider
This commit is contained in:
@@ -38,18 +38,30 @@ namespace hex {
|
||||
}
|
||||
|
||||
T& get(const prv::Provider *provider = ImHexApi::Provider::get()) {
|
||||
if (provider == nullptr) [[unlikely]]
|
||||
throw std::invalid_argument("PerProvider::get called with nullptr");
|
||||
|
||||
return m_data[provider];
|
||||
}
|
||||
|
||||
const T& get(const prv::Provider *provider = ImHexApi::Provider::get()) const {
|
||||
if (provider == nullptr) [[unlikely]]
|
||||
throw std::invalid_argument("PerProvider::get called with nullptr");
|
||||
|
||||
return m_data.at(provider);
|
||||
}
|
||||
|
||||
void set(const T &data, const prv::Provider *provider = ImHexApi::Provider::get()) {
|
||||
if (provider == nullptr) [[unlikely]]
|
||||
throw std::invalid_argument("PerProvider::set called with nullptr");
|
||||
|
||||
m_data[provider] = data;
|
||||
}
|
||||
|
||||
void set(T &&data, const prv::Provider *provider = ImHexApi::Provider::get()) {
|
||||
if (provider == nullptr) [[unlikely]]
|
||||
throw std::invalid_argument("PerProvider::set called with nullptr");
|
||||
|
||||
m_data[provider] = std::move(data);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user