diff options
| author | 2021-06-04 05:12:14 -0400 | |
|---|---|---|
| committer | 2021-06-04 05:12:14 -0400 | |
| commit | 287a0f72a5474a5c8c8cdf2b15fb61532e11ec61 (patch) | |
| tree | a6a482654275aca3dc2715883c4b4910ab5c5bce /src | |
| parent | decoders: Avoid out-of-bounds access (diff) | |
| download | yuzu-287a0f72a5474a5c8c8cdf2b15fb61532e11ec61.tar.gz yuzu-287a0f72a5474a5c8c8cdf2b15fb61532e11ec61.tar.xz yuzu-287a0f72a5474a5c8c8cdf2b15fb61532e11ec61.zip | |
decoders: Break instead of continue
continue causes a memory leak in A Hat in Time.
Diffstat (limited to 'src')
| -rw-r--r-- | src/video_core/textures/decoders.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/video_core/textures/decoders.cpp b/src/video_core/textures/decoders.cpp index 1bccc09d9..f1f523ad1 100644 --- a/src/video_core/textures/decoders.cpp +++ b/src/video_core/textures/decoders.cpp | |||
| @@ -66,9 +66,9 @@ void Swizzle(std::span<u8> output, std::span<const u8> input, u32 bytes_per_pixe | |||
| 66 | if (const auto offset = (TO_LINEAR ? unswizzled_offset : swizzled_offset); | 66 | if (const auto offset = (TO_LINEAR ? unswizzled_offset : swizzled_offset); |
| 67 | offset >= input.size()) { | 67 | offset >= input.size()) { |
| 68 | // TODO(Rodrigo): This is an out of bounds access that should never happen. To | 68 | // TODO(Rodrigo): This is an out of bounds access that should never happen. To |
| 69 | // avoid crashing the emulator, continue. | 69 | // avoid crashing the emulator, break. |
| 70 | ASSERT_MSG(false, "offset {} exceeds input size {}!", offset, input.size()); | 70 | ASSERT_MSG(false, "offset {} exceeds input size {}!", offset, input.size()); |
| 71 | continue; | 71 | break; |
| 72 | } | 72 | } |
| 73 | 73 | ||
| 74 | u8* const dst = &output[TO_LINEAR ? swizzled_offset : unswizzled_offset]; | 74 | u8* const dst = &output[TO_LINEAR ? swizzled_offset : unswizzled_offset]; |