From c4834ca68d359d41600e9347e1a76feb813a4e7b Mon Sep 17 00:00:00 2001 From: cjee21 <77721854+cjee21@users.noreply.github.com> Date: Fri, 31 Jan 2025 01:08:16 +0800 Subject: [PATCH] Fix C6001 Using uninitialized memory --- Source/MediaInfo/Audio/File_Ac4.cpp | 2 +- Source/MediaInfo/Audio/File_DolbyE.cpp | 2 +- Source/MediaInfo/Audio/File_Dts.cpp | 21 ++++++++++++------- Source/MediaInfo/Audio/File_Usac.cpp | 6 +++--- Source/MediaInfo/Image/File_Png.cpp | 2 +- Source/MediaInfo/Multiple/File_Mk.cpp | 2 +- .../Multiple/File_Mpeg4_Descriptors.cpp | 2 +- Source/MediaInfo/Multiple/File_Mxf.cpp | 4 ++-- Source/MediaInfo/Multiple/File_Nsv.cpp | 2 +- Source/MediaInfo/Video/File_Av1.cpp | 2 +- Source/MediaInfo/Video/File_Hevc.cpp | 2 +- Source/MediaInfo/Video/File_ProRes.cpp | 2 +- Source/MediaInfo/Video/File_Vp9.cpp | 6 +++--- 13 files changed, 31 insertions(+), 24 deletions(-) diff --git a/Source/MediaInfo/Audio/File_Ac4.cpp b/Source/MediaInfo/Audio/File_Ac4.cpp index 6ef5a7e5e..51bf3ea21 100644 --- a/Source/MediaInfo/Audio/File_Ac4.cpp +++ b/Source/MediaInfo/Audio/File_Ac4.cpp @@ -1820,7 +1820,7 @@ void File_Ac4::Read_Buffer_Unsynched() bool File_Ac4::Synchronize() { //Synchronizing - size_t Buffer_Offset_Current; + size_t Buffer_Offset_Current{}; while (Buffer_Offset(-1) }; + int16u Bitw_Stream_Metadata{}; + bool Header_Parsed{ false }; + int64u Num_Samples_Orig_Audio_At_Max_Fs{ 0 }; + int32u Num_Frames_Total{}; + int32u TimeStamp{}; + int32u Max_Sample_Rate_Hz{ 0 }; + int32u Ext_Ss_Avg_Bit_Rate_Kbps{ 0 }; + int32u Ext_Ss_Peak_Bit_Rate_Kbps{ 0 }; + int16u Core_Ss_Bit_Rate_Kbps{ 0 }; + int16u Samples_Per_Frame_At_Max_Fs{ 0 }; + int16u Codec_Delay_At_Max_Fs{ 0 }; + int8u RefClockCode{}; + int8u TC_Frame_Rate{ static_cast(-1) }; while (StreamSize==-1 && Element_Size-Element_Offset>=16) { int64u Name, Size; diff --git a/Source/MediaInfo/Audio/File_Usac.cpp b/Source/MediaInfo/Audio/File_Usac.cpp index 9e2246d48..1d9e35c00 100644 --- a/Source/MediaInfo/Audio/File_Usac.cpp +++ b/Source/MediaInfo/Audio/File_Usac.cpp @@ -4489,7 +4489,7 @@ void File_Usac::UsacCoreCoderData(size_t nrChannels, bool usacIndependencyFlag) Element_Begin1("UsacCoreCoderData"); bool coreModes[2]; - bool tnsDataPresent[2]; + bool tnsDataPresent[2]{}; for (size_t ch=0; chsecond.TimeCodeArray_StartTimecodes.empty()) { SystemScheme1_TimeCodeArray_StartTimecode_StreamPos_Last=StreamPos_Last; diff --git a/Source/MediaInfo/Multiple/File_Nsv.cpp b/Source/MediaInfo/Multiple/File_Nsv.cpp index c7cffd723..9d77b208c 100644 --- a/Source/MediaInfo/Multiple/File_Nsv.cpp +++ b/Source/MediaInfo/Multiple/File_Nsv.cpp @@ -837,7 +837,7 @@ void File_StarDiva::Read_Buffer_Continue() size_t Begin; - size_t End; + size_t End{}; Element_Begin1("StarDiva time line data"); Element_Begin1("Header"); diff --git a/Source/MediaInfo/Video/File_Av1.cpp b/Source/MediaInfo/Video/File_Av1.cpp index eae2180c9..90831637c 100644 --- a/Source/MediaInfo/Video/File_Av1.cpp +++ b/Source/MediaInfo/Video/File_Av1.cpp @@ -259,7 +259,7 @@ void File_Av1::sequence_header() { //Parsing int32u max_frame_width_minus_1, max_frame_height_minus_1; - int8u seq_profile, seq_level_idx[33], operating_points_cnt_minus_1, buffer_delay_length_minus_1, frame_width_bits_minus_1, frame_height_bits_minus_1, seq_force_screen_content_tools, BitDepth, color_primaries, transfer_characteristics, matrix_coefficients, chroma_sample_position; + int8u seq_profile, seq_level_idx[33]{}, operating_points_cnt_minus_1, buffer_delay_length_minus_1, frame_width_bits_minus_1, frame_height_bits_minus_1, seq_force_screen_content_tools, BitDepth, color_primaries, transfer_characteristics, matrix_coefficients, chroma_sample_position; bool reduced_still_picture_header, seq_tier[33], timing_info_present_flag, decoder_model_info_present_flag, seq_choose_screen_content_tools, mono_chrome, color_range, color_description_present_flag, subsampling_x, subsampling_y; BS_Begin(); Get_S1 ( 3, seq_profile, "seq_profile"); Param_Info1(Av1_seq_profile(seq_profile)); diff --git a/Source/MediaInfo/Video/File_Hevc.cpp b/Source/MediaInfo/Video/File_Hevc.cpp index aefcda50d..cda62a098 100644 --- a/Source/MediaInfo/Video/File_Hevc.cpp +++ b/Source/MediaInfo/Video/File_Hevc.cpp @@ -3182,7 +3182,7 @@ void File_Hevc::sei_message_user_data_registered_itu_t_t35_B5_003C_0001_04() Get_B1 (application_version, "application_version"); if (application_version==1) { - int32u targeted_system_display_maximum_luminance, maxscl[4], distribution_maxrgb_percentiles[16]; + int32u targeted_system_display_maximum_luminance, maxscl[4]{}, distribution_maxrgb_percentiles[16]; int16u fraction_bright_pixels; int8u num_distribution_maxrgb_percentiles, distribution_maxrgb_percentages[16], num_windows, num_bezier_curve_anchors; bool targeted_system_display_actual_peak_luminance_flag, mastering_display_actual_peak_luminance_flag, color_saturation_mapping_flag; diff --git a/Source/MediaInfo/Video/File_ProRes.cpp b/Source/MediaInfo/Video/File_ProRes.cpp index ba21e013a..727223d8e 100644 --- a/Source/MediaInfo/Video/File_ProRes.cpp +++ b/Source/MediaInfo/Video/File_ProRes.cpp @@ -209,7 +209,7 @@ void File_ProRes::Read_Buffer_Continue() //Parsing int32u Name, creatorID; int16u hdrSize, version, frameWidth, frameHeight; - int8u chrominance_factor, frame_type, primaries, transf_func, colorMatrix, alpha_info; + int8u chrominance_factor{}, frame_type{}, primaries{}, transf_func{}, colorMatrix{}, alpha_info{}; bool IsOk=true, luma, chroma; Element_Begin1("Header"); Skip_B4( "Size"); diff --git a/Source/MediaInfo/Video/File_Vp9.cpp b/Source/MediaInfo/Video/File_Vp9.cpp index 01eaf2ae4..cf98ddb7b 100644 --- a/Source/MediaInfo/Video/File_Vp9.cpp +++ b/Source/MediaInfo/Video/File_Vp9.cpp @@ -178,9 +178,9 @@ void File_Vp9::Read_Buffer_Continue() Element_Begin1("uncompressed_header"); BS_Begin(); - int16u width_minus_one, height_minus_one; - int8u FRAME_MARKER, profile, bit_depth, colorspace, subsampling; - bool version0, version1, version2, show_existing_frame, frame_type, show_frame, error_resilient_mode, yuv_range_flag; + int16u width_minus_one{}, height_minus_one{}; + int8u FRAME_MARKER, profile, bit_depth{}, colorspace{}, subsampling{}; + bool version0, version1, version2, show_existing_frame, frame_type, show_frame, error_resilient_mode, yuv_range_flag{}; Get_S1(2, FRAME_MARKER, "FRAME_MARKER (0b10)"); if (FRAME_MARKER!=0x2) Trusted_IsNot("FRAME_MARKER is wrong");