From 3d21280ab415005f0fbe1dd92e3c8301094b044b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Lam?= Date: Mon, 23 Jan 2017 21:49:26 +0100 Subject: [PATCH] DiscIO: Fix out-of-bounds access in NANDContentDataBuffer Accessing buffer[start + size] triggers an error (and a crash) in debug builds. Using std::copy_n fixes this. --- Source/Core/DiscIO/NANDContentLoader.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Core/DiscIO/NANDContentLoader.cpp b/Source/Core/DiscIO/NANDContentLoader.cpp index f87e0e31c0..b57f6eb0ea 100644 --- a/Source/Core/DiscIO/NANDContentLoader.cpp +++ b/Source/Core/DiscIO/NANDContentLoader.cpp @@ -196,7 +196,7 @@ bool CNANDContentDataBuffer::GetRange(u32 start, u32 size, u8* buffer) if (start + size > m_buffer.size()) return false; - std::copy(&m_buffer[start], &m_buffer[start + size], buffer); + std::copy_n(&m_buffer[start], size, buffer); return true; }