Browse Source
Merge pull request #13175 from liamwhite/asan
general: fix asan errors
pull/15/merge
liamwhite
2 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with
12 additions and
6 deletions
-
src/core/file_sys/fssystem/fssystem_aes_xts_storage.cpp
-
src/core/hle/service/server_manager.cpp
|
|
|
@ -31,8 +31,8 @@ AesXtsStorage::AesXtsStorage(VirtualFile base, const void* key1, const void* key |
|
|
|
ASSERT(iv_size == IvSize); |
|
|
|
ASSERT(Common::IsAligned(m_block_size, AesBlockSize)); |
|
|
|
|
|
|
|
std::memcpy(m_key.data() + 0, key1, KeySize); |
|
|
|
std::memcpy(m_key.data() + 0x10, key2, KeySize); |
|
|
|
std::memcpy(m_key.data() + 0, key1, KeySize / 2); |
|
|
|
std::memcpy(m_key.data() + 0x10, key2, KeySize / 2); |
|
|
|
std::memcpy(m_iv.data(), iv, IvSize); |
|
|
|
|
|
|
|
m_cipher.emplace(m_key, Core::Crypto::Mode::XTS); |
|
|
|
|
|
|
|
@ -93,13 +93,19 @@ ServerManager::~ServerManager() { |
|
|
|
m_threads.clear(); |
|
|
|
|
|
|
|
// Clean up ports.
|
|
|
|
for (auto it = m_servers.begin(); it != m_servers.end(); it = m_servers.erase(it)) { |
|
|
|
delete std::addressof(*it); |
|
|
|
auto port_it = m_servers.begin(); |
|
|
|
while (port_it != m_servers.end()) { |
|
|
|
auto* const port = std::addressof(*port_it); |
|
|
|
port_it = m_servers.erase(port_it); |
|
|
|
delete port; |
|
|
|
} |
|
|
|
|
|
|
|
// Clean up sessions.
|
|
|
|
for (auto it = m_sessions.begin(); it != m_sessions.end(); it = m_sessions.erase(it)) { |
|
|
|
delete std::addressof(*it); |
|
|
|
auto session_it = m_sessions.begin(); |
|
|
|
while (session_it != m_sessions.end()) { |
|
|
|
auto* const session = std::addressof(*session_it); |
|
|
|
session_it = m_sessions.erase(session_it); |
|
|
|
delete session; |
|
|
|
} |
|
|
|
|
|
|
|
// Close wakeup event.
|
|
|
|
|