From 9d1e718beaa2948f8027dc78f69c3d39fb747238 Mon Sep 17 00:00:00 2001 From: Michael Scire Date: Sun, 19 Apr 2020 23:23:51 -0700 Subject: [PATCH] fix outdated comments, correct do/while bug --- stratosphere/jpegdec/source/impl/jpegdec_turbo.cpp | 2 +- .../jpegdec/source/jpegdec_decode_service.cpp | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/stratosphere/jpegdec/source/impl/jpegdec_turbo.cpp b/stratosphere/jpegdec/source/impl/jpegdec_turbo.cpp index e1cc657c1..d36b6190e 100644 --- a/stratosphere/jpegdec/source/impl/jpegdec_turbo.cpp +++ b/stratosphere/jpegdec/source/impl/jpegdec_turbo.cpp @@ -19,7 +19,7 @@ namespace ams::jpegdec::impl { - #define CAPSRV_ABORT_UNLESS(expr) { \ + #define CAPSRV_ABORT_UNLESS(expr) do { \ const bool __capsrv_assert_res = (expr); \ AMS_ASSERT(__capsrv_assert_res); \ AMS_ABORT_UNLESS(__capsrv_assert_res); \ diff --git a/stratosphere/jpegdec/source/jpegdec_decode_service.cpp b/stratosphere/jpegdec/source/jpegdec_decode_service.cpp index 8146346ea..18882faa8 100644 --- a/stratosphere/jpegdec/source/jpegdec_decode_service.cpp +++ b/stratosphere/jpegdec/source/jpegdec_decode_service.cpp @@ -31,8 +31,12 @@ namespace ams::jpegdec { const u8 *jpeg = in.GetPointer(); size_t jpeg_size = in.GetSize(); - memset(g_workmem, 0, sizeof(g_workmem)); - memset(bmp, 0, bmp_size); + /* Clear the work memory and out buffer. */ + std::memset(g_workmem, 0, sizeof(g_workmem)); + std::memset(bmp, 0, bmp_size); + + /* Clear output memory on decode failure. */ + auto clear_guard = SCOPE_GUARD { std::memset(bmp, 0, bmp_size); }; R_UNLESS(util::IsAligned(width, 0x10), capsrv::ResultAlbumOutOfRange()); R_UNLESS(util::IsAligned(height, 0x4), capsrv::ResultAlbumOutOfRange()); @@ -62,16 +66,12 @@ namespace ams::jpegdec { .bmp_size = bmp_size, }; - /* Clear output memory on decode failure. */ - /* NOTE: Nintendo does not do this. */ - auto clear_guard = SCOPE_GUARD { std::memset(bmp, 0, bmp_size); }; /* Decode the jpeg. */ R_TRY(impl::DecodeJpeg(decode_output, decode_input, g_workmem, sizeof(g_workmem))); clear_guard.Cancel(); /* Clear the work memory. */ - /* NOTE: Nintendo does not do this. */ std::memset(g_workmem, 0, sizeof(g_workmem)); return ResultSuccess();