From b8ad89b9ce455d3b96101d6a4670ab1b5c4e0396 Mon Sep 17 00:00:00 2001 From: cjee21 <77721854+cjee21@users.noreply.github.com> Date: Fri, 31 Jan 2025 14:40:01 +0800 Subject: [PATCH] Fix C6385 Reading invalid data (not all) --- .../MediaInfo/Audio/File_Aac_GeneralAudio_Sbr.cpp | 2 +- Source/MediaInfo/Audio/File_Usac.cpp | 3 +++ Source/MediaInfo/TimeCode.cpp | 4 ++++ Source/MediaInfo/Video/File_Avc.h | 14 ++++++++------ 4 files changed, 16 insertions(+), 7 deletions(-) diff --git a/Source/MediaInfo/Audio/File_Aac_GeneralAudio_Sbr.cpp b/Source/MediaInfo/Audio/File_Aac_GeneralAudio_Sbr.cpp index 1949e0893..40bbf3f65 100644 --- a/Source/MediaInfo/Audio/File_Aac_GeneralAudio_Sbr.cpp +++ b/Source/MediaInfo/Audio/File_Aac_GeneralAudio_Sbr.cpp @@ -893,7 +893,7 @@ bool Aac_f_master_Compute(int8u &num_env_bands_Master, int8u* f_Master, sbr_hand } int8u numBands0=2*Aac_bands_Compute(false, bands, k0, k1, divisor); - if (numBands0 == 0 || numBands0 >= 64) + if (numBands0 <= 0 || numBands0 >= 64) return false; int8u vDk0[64]; diff --git a/Source/MediaInfo/Audio/File_Usac.cpp b/Source/MediaInfo/Audio/File_Usac.cpp index 1d9e35c00..4ed11ca2d 100644 --- a/Source/MediaInfo/Audio/File_Usac.cpp +++ b/Source/MediaInfo/Audio/File_Usac.cpp @@ -2902,6 +2902,7 @@ void File_Usac::uniDrcConfigExtension() default: Skip_BS(bitSize, "Unknown"); } + #pragma warning (suppress : 6385) //Visual Studio fail to detect 'uniDrcConfigExtType 3) { + Iso14496_10_Buffer = new int8u[Iso14496_10_Buffer_Size]; + Iso14496_10_Buffer[0] = 0x00; + Iso14496_10_Buffer[1] = 0x00; + Iso14496_10_Buffer[2] = 0x01; + Iso14496_10_Buffer[3] = c; + std::memcpy(Iso14496_10_Buffer + 4, Buffer, (size_t)Element_Size); + } } #endif //MEDIAINFO_DEMUX };