Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix Visual Studio Code analysis warnings + some other issues #2181

Open
wants to merge 23 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
2a5eebe
MSVC2022: Consistent C++ std for all configs
cjee21 Jan 30, 2025
4d23dd7
Fix issues flagged by Visual Studio Code analysis
cjee21 Jan 30, 2025
f3ac7a0
Fix unannotated fallthroughs
cjee21 Jan 30, 2025
9b46809
Resolve arithmetic overflow warnings
cjee21 Jan 30, 2025
1d546d5
Resolve logic warning
cjee21 Jan 30, 2025
64fd11c
Fix dangling pointers due to temporary instances that were destroyed
cjee21 Jan 30, 2025
64ae7ec
Fix typos and bugs flagged by C6287 Redundant code warnings
cjee21 Jan 30, 2025
c4834ca
Fix C6001 Using uninitialized memory
cjee21 Jan 30, 2025
186e71e
Use reference for performance
cjee21 Jan 30, 2025
a1041e1
Suppress warning C26813 false positive
cjee21 Jan 30, 2025
2f0d006
Prevent dereferencing NULL pointer
cjee21 Jan 31, 2025
504b74f
Fix argument pointer may be null
cjee21 Jan 31, 2025
b8ad89b
Fix C6385 Reading invalid data (not all)
cjee21 Jan 31, 2025
f0e5b5e
Fix unchecked lower bound for enum
cjee21 Jan 31, 2025
3e6d82b
Resolve C6031 Return value ignored
cjee21 Jan 31, 2025
25370dc
Fix arithmetic exception: division by zero (#2107)
cjee21 Jan 31, 2025
bb51030
Prefer prefix ++/-- operators for non-primitive types (performance)
cjee21 Jan 31, 2025
af0c69d
Fix uninitialized variable (legacyUninitvar)
cjee21 Jan 31, 2025
d89e790
File_Mpeg4_Elements: Code clean-up
cjee21 Feb 1, 2025
a422b16
Remove identical inner 'if' conditions that are always true
cjee21 Feb 2, 2025
21490b7
Fix out-of-bounds flagged by Cppcheck
cjee21 Feb 2, 2025
268cb32
File_Usac: More fixes and improvements
cjee21 Feb 2, 2025
27851b5
Fix C6293 'ill-defined for-loop'
cjee21 Feb 2, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions Project/MSVC2022/Dll/MediaInfoDll.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,7 @@
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<LanguageStandard>stdcpp20</LanguageStandard>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
Expand All @@ -198,6 +199,7 @@
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<LanguageStandard>stdcpp20</LanguageStandard>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
Expand All @@ -212,6 +214,7 @@
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<LanguageStandard>stdcpp20</LanguageStandard>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
Expand All @@ -226,6 +229,7 @@
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<LanguageStandard>stdcpp20</LanguageStandard>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
Expand Down Expand Up @@ -258,6 +262,7 @@
<EnableEnhancedInstructionSet>NoExtensions</EnableEnhancedInstructionSet>
<SDLCheck>true</SDLCheck>
<ControlFlowGuard>Guard</ControlFlowGuard>
<LanguageStandard>stdcpp20</LanguageStandard>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
Expand All @@ -279,6 +284,7 @@
<DebugInformationFormat>None</DebugInformationFormat>
<SDLCheck>true</SDLCheck>
<ControlFlowGuard>Guard</ControlFlowGuard>
<LanguageStandard>stdcpp20</LanguageStandard>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
Expand All @@ -301,6 +307,7 @@
<ControlFlowGuard>Guard</ControlFlowGuard>
<GuardEHContMetadata>true</GuardEHContMetadata>
<GuardSignedReturns>true</GuardSignedReturns>
<LanguageStandard>stdcpp20</LanguageStandard>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
Expand All @@ -323,6 +330,7 @@
<ControlFlowGuard>Guard</ControlFlowGuard>
<GuardEHContMetadata>true</GuardEHContMetadata>
<GuardSignedReturns>true</GuardSignedReturns>
<LanguageStandard>stdcpp20</LanguageStandard>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
Expand All @@ -343,6 +351,7 @@
<SDLCheck>true</SDLCheck>
<ControlFlowGuard>Guard</ControlFlowGuard>
<GuardEHContMetadata>true</GuardEHContMetadata>
<LanguageStandard>stdcpp20</LanguageStandard>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
Expand Down
9 changes: 9 additions & 0 deletions Project/MSVC2022/Library/MediaInfoLib.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,7 @@
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<LanguageStandard>stdcpp20</LanguageStandard>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
Expand All @@ -198,6 +199,7 @@
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<LanguageStandard>stdcpp20</LanguageStandard>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
Expand All @@ -210,6 +212,7 @@
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<LanguageStandard>stdcpp20</LanguageStandard>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64EC'">
Expand All @@ -222,6 +225,7 @@
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<LanguageStandard>stdcpp20</LanguageStandard>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
Expand Down Expand Up @@ -253,6 +257,7 @@
<EnableEnhancedInstructionSet>NoExtensions</EnableEnhancedInstructionSet>
<SDLCheck>true</SDLCheck>
<ControlFlowGuard>Guard</ControlFlowGuard>
<LanguageStandard>stdcpp20</LanguageStandard>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
Expand All @@ -267,6 +272,7 @@
<DebugInformationFormat>None</DebugInformationFormat>
<SDLCheck>true</SDLCheck>
<ControlFlowGuard>Guard</ControlFlowGuard>
<LanguageStandard>stdcpp20</LanguageStandard>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
Expand All @@ -283,6 +289,7 @@
<ControlFlowGuard>Guard</ControlFlowGuard>
<GuardEHContMetadata>true</GuardEHContMetadata>
<GuardSignedReturns>true</GuardSignedReturns>
<LanguageStandard>stdcpp20</LanguageStandard>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64EC'">
Expand All @@ -299,6 +306,7 @@
<ControlFlowGuard>Guard</ControlFlowGuard>
<GuardEHContMetadata>true</GuardEHContMetadata>
<GuardSignedReturns>true</GuardSignedReturns>
<LanguageStandard>stdcpp20</LanguageStandard>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
Expand All @@ -313,6 +321,7 @@
<SDLCheck>true</SDLCheck>
<ControlFlowGuard>Guard</ControlFlowGuard>
<GuardEHContMetadata>true</GuardEHContMetadata>
<LanguageStandard>stdcpp20</LanguageStandard>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
Expand Down
1 change: 1 addition & 0 deletions Source/MediaInfo/Audio/File_Aac.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,7 @@ void File_Aac::Streams_Accept()
case Mode_ADTS :
if (!IsSub)
TestContinuousFileNames();
break;
default : ;
}
if (Frame_Count_NotParsedIncluded==(int64u)-1)
Expand Down
2 changes: 1 addition & 1 deletion Source/MediaInfo/Audio/File_Aac_GeneralAudio_Sbr.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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];
Expand Down
1 change: 1 addition & 0 deletions Source/MediaInfo/Audio/File_Aac_Main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -723,6 +723,7 @@ void File_Aac::AudioSpecificConfig (size_t End)
Frame_Count=(size_t)-1; //Forcing not to parse following data anymore
}
}
break;
default : ;
}

Expand Down
14 changes: 7 additions & 7 deletions Source/MediaInfo/Audio/File_Ac4.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1152,7 +1152,7 @@ void File_Ac4::Streams_Fill()
{
set<size_t>::iterator It=IFrames_IsVariable.begin();
size_t Value1=*It;
It++;
++It;
size_t Value2=*It;
if (Value1+1==Value2)
{
Expand Down Expand Up @@ -1577,7 +1577,7 @@ void File_Ac4::Streams_Fill()
continue;
size_t AudioSubstream_Pos=0;
std::map<int8u, substream_type_t>::iterator Substream_Type_Item=Substream_Type.begin();
for (; Substream_Type_Item!=Substream_Type.end() && Substream_Type_Item->first!=GroupInfo.substream_index; Substream_Type_Item++)
for (; Substream_Type_Item!=Substream_Type.end() && Substream_Type_Item->first!=GroupInfo.substream_index; ++Substream_Type_Item)
if (Substream_Type_Item->second==Type_Ac4_Substream)
AudioSubstream_Pos++;
if (Substream_Type_Item==Substream_Type.end())
Expand All @@ -1592,7 +1592,7 @@ void File_Ac4::Streams_Fill()
Fill(Stream_Audio, 0, (G+" LinkedTo_Substream_Pos/String").c_str(), SubstreamNum.Read());
Fill_SetOptions(Stream_Audio, 0, (G+" LinkedTo_Substream_Pos/String").c_str(), "Y NIN");
}
for (map<int8u, audio_substream>::iterator Substream_Info=AudioSubstreams.begin(); Substream_Info!=AudioSubstreams.end(); Substream_Info++)
for (map<int8u, audio_substream>::iterator Substream_Info=AudioSubstreams.begin(); Substream_Info!=AudioSubstreams.end(); ++Substream_Info)
{
string ChannelMode, ImmersiveStereo;
for (size_t g=0; g<Groups.size(); g++)
Expand Down Expand Up @@ -1670,7 +1670,7 @@ void File_Ac4::Streams_Fill()
Summary="?";
}
size_t AudioSubstream_Pos=0;
for (std::map<int8u, substream_type_t>::iterator Substream_Type_Item=Substream_Type.begin(); Substream_Type_Item!=Substream_Type.end() && Substream_Type_Item->first!=Substream_Info->first; Substream_Type_Item++)
for (std::map<int8u, substream_type_t>::iterator Substream_Type_Item=Substream_Type.begin(); Substream_Type_Item!=Substream_Type.end() && Substream_Type_Item->first!=Substream_Info->first; ++Substream_Type_Item)
if (Substream_Type_Item->second==Type_Ac4_Substream)
AudioSubstream_Pos++;
string S=Ztring(__T("Substream")+Ztring::ToZtring(AudioSubstream_Pos)).To_UTF8();
Expand Down Expand Up @@ -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<Buffer_Size)
{
Buffer_Offset_Current=Buffer_Offset;
Expand Down Expand Up @@ -2170,7 +2170,7 @@ void File_Ac4::ac4_toc()
{
//We parse only Iframes, but also the frames associated to this I-frame
if (!AudioSubstreams.empty())
for (map<int8u, audio_substream>::iterator Substream_Info=AudioSubstreams.begin(); Substream_Info!=AudioSubstreams.end(); Substream_Info++)
for (map<int8u, audio_substream>::iterator Substream_Info=AudioSubstreams.begin(); Substream_Info!=AudioSubstreams.end(); ++Substream_Info)
if (Substream_Info->second.Buffer_Index)
NoSkip=true;
}
Expand Down Expand Up @@ -3799,7 +3799,7 @@ void File_Ac4::metadata(audio_substream& AudioSubstream, size_t Substream_Index)
Get_SB (b_discard_unknown_payload, "b_discard_unknown_payload");
if (!b_discard_unknown_payload)
{
bool b_payload_frame_aligned;
bool b_payload_frame_aligned{};
if (!b_smpoffst)
{
TEST_SB_GET(b_payload_frame_aligned, "b_payload_frame_aligned");
Expand Down
6 changes: 4 additions & 2 deletions Source/MediaInfo/Audio/File_Ac4.h
Original file line number Diff line number Diff line change
Expand Up @@ -360,10 +360,12 @@ private :
uint8_t* Data_ToDelete=Data;
Size=NewOffset;
Data=new int8u[Size];
memcpy(Data, Data_ToDelete, Offset);
if (Data_ToDelete)
memcpy(Data, Data_ToDelete, Offset);
delete[] Data_ToDelete;
}
memcpy(Data+Offset, BufferToAdd, SizeToAdd);
if (Data+Offset)
memcpy(Data+Offset, BufferToAdd, SizeToAdd);
Offset=NewOffset;
}

Expand Down
18 changes: 12 additions & 6 deletions Source/MediaInfo/Audio/File_Adm.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2141,7 +2141,10 @@ size_t Atmos_zone_Pos(const string& Name, float32* Values) {
}

string CraftName(const char* Name, bool ID = false) {
return (ID && !strcmp(Name, "Track")) ? "track" : ((Name && Name[0] < 'a' ? "audio" : "") + string(Name));
if (Name)
return (ID && !strcmp(Name, "Track")) ? "track" : ((Name && Name[0] < 'a' ? "audio" : "") + string(Name));
else
return "";
}

enum class E {
Expand Down Expand Up @@ -2398,7 +2401,7 @@ class file_adm_private : public tfsxml
file_adm_private()
{
auto OldLocale_Temp = setlocale(LC_NUMERIC, nullptr);
if (*OldLocale_Temp != 'C' || *(OldLocale_Temp + 1)) {
if (OldLocale_Temp && (*OldLocale_Temp != 'C' || *(OldLocale_Temp + 1))) {
OldLocale = OldLocale_Temp;
setlocale(LC_NUMERIC, "C");
}
Expand Down Expand Up @@ -2827,6 +2830,8 @@ static void CheckErrors_ID_Additions(file_adm_private* File_Adm_Private, item it
};

//---------------------------------------------------------------------------
#pragma warning( push )
#pragma warning( disable : 26813 ) //false positive "Use 'bitwise and' to check if a flag is set."
static void CheckErrors_formatLabelDefinition(file_adm_private* File_Adm_Private, item item_Type, size_t i, const label_info& label_Info) {
const bool IsAtmos = File_Adm_Private->IsAtmos;
auto& Item = File_Adm_Private->Items[item_Type].Items[i];
Expand Down Expand Up @@ -2892,6 +2897,7 @@ static void CheckErrors_formatLabelDefinition(file_adm_private* File_Adm_Private
}
}
};
#pragma warning( pop )

//---------------------------------------------------------------------------
static void CheckErrors_Attributes(file_adm_private* File_Adm_Private, item Item_Type, const vector<size_t>& Attributes_Counts) {
Expand Down Expand Up @@ -2923,7 +2929,7 @@ static void CheckErrors_Attributes(file_adm_private* File_Adm_Private, item Item
break;
default:
Item.AddError(Error, ':' + CraftName(item_Infos[Item_Type].Name) + to_string(i) + ":" + CraftName(Attribute_Infos[j].Name) + ":" + string(Attribute_Infos[j].Name) + " attribute shall be unique");
// Fallthrough
[[fallthrough]];
case 1:
{
Attributes_Present[j] = true;
Expand Down Expand Up @@ -3027,7 +3033,7 @@ static void CheckErrors_Elements(file_adm_private* File_Adm_Private, item Item_T
}
else if (Elem.empty() && Item_Type) {
#define ITEM_ELEM(A,B) ((A << 8) | B)
switch (ITEM_ELEM(Item_Type, j)) {
switch (ITEM_ELEM(static_cast<size_t>(Item_Type), j)) {
case ITEM_ELEM(item_audioProgrammeReferenceScreen, audioProgrammeReferenceScreen_screenCentrePosition):
case ITEM_ELEM(item_audioProgrammeReferenceScreen, audioProgrammeReferenceScreen_screenWidth):
case ITEM_ELEM(item_audioBlockFormat, audioBlockFormat_headphoneVirtualise):
Expand Down Expand Up @@ -3572,7 +3578,7 @@ void audioBlockFormat_Check(file_adm_private* File_Adm_Private) {
BlockFormat.AddError(Error, ":GeneralCompliance:jumpPosition subelement count " + to_string(jumpPositions.size()) + " is not permitted, max is 1", Source_Atmos_1_0);
break;
}
// Fallthrough
[[fallthrough]];
case 1:
switch (Type) {
case Type_Objects: {
Expand Down Expand Up @@ -5482,7 +5488,7 @@ void File_Adm::Streams_Fill()
IsAdvSSE = true;
IsAdvSSE_Versions.push_back(strtoul(Profile_Item.Attributes[profile_profileVersion].c_str(), nullptr, 10));
IsAdvSSE_Levels.push_back(strtoul(Profile_Item.Attributes[profile_profileLevel].c_str(), nullptr, 10));
if (IsAdvSSE_Levels.back() > 2 && (Profile == "ITU-R BS.[ADM-NGA-EMISSION]-0" || Profile == "ITU-R BS.[ADM-NGA-EMISSION]-0")) {
if (IsAdvSSE_Levels.back() > 2 && (Profile == "ITU-R BS.[ADM-NGA-EMISSION]-0")) {
Profiles.back().AddError(Error, ':' + CraftName(item_Infos[item_profile].Name) + to_string(i) + ":profileLevel:profileLevel attribute value " + Profile_Item.Attributes[profile_profileLevel] + " is not permitted, max is 2", Source_AdvSSE_1);
}
}
Expand Down
4 changes: 2 additions & 2 deletions Source/MediaInfo/Audio/File_ChannelGrouping.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -329,7 +329,7 @@ void File_ChannelGrouping::Read_Buffer_Continue()
{
if (!Common->Parsers[Pos]->Status[IsAccepted] && Common->Parsers[Pos]->Status[IsFinished])
{
delete *(Common->Parsers.begin()+Pos);
delete static_cast<MediaInfoLib::File__Analyze*>(*(Common->Parsers.begin()+Pos));
Common->Parsers.erase(Common->Parsers.begin()+Pos);
Pos--;
}
Expand All @@ -339,7 +339,7 @@ void File_ChannelGrouping::Read_Buffer_Continue()
for (size_t Pos2=0; Pos2<Common->Parsers.size(); Pos2++)
{
if (Pos2!=Pos)
delete *(Common->Parsers.begin()+Pos2);
delete static_cast<MediaInfoLib::File__Analyze*>(*(Common->Parsers.begin()+Pos2));
}
Common->Parsers.clear();
Common->Parsers.push_back(Parser);
Expand Down
4 changes: 2 additions & 2 deletions Source/MediaInfo/Audio/File_ChannelSplitting.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -430,7 +430,7 @@ void File_ChannelSplitting::Read_Buffer_Continue_Parse()
}
if (!SplittedChannel->Parsers[Pos]->Status[IsAccepted] && SplittedChannel->Parsers[Pos]->Status[IsFinished])
{
delete *(SplittedChannel->Parsers.begin()+Pos);
delete static_cast<MediaInfoLib::File__Analyze*>(*(SplittedChannel->Parsers.begin()+Pos));
SplittedChannel->Parsers.erase(SplittedChannel->Parsers.begin()+Pos);
Pos--;
}
Expand All @@ -443,7 +443,7 @@ void File_ChannelSplitting::Read_Buffer_Continue_Parse()
for (size_t Pos2=0; Pos2<SplittedChannel->Parsers.size(); Pos2++)
{
if (Pos2!=Pos)
delete *(SplittedChannel->Parsers.begin()+Pos2);
delete static_cast<MediaInfoLib::File__Analyze*>(*(SplittedChannel->Parsers.begin()+Pos2));
}
SplittedChannel->Parsers.clear();
SplittedChannel->Parsers.push_back(Parser);
Expand Down
4 changes: 2 additions & 2 deletions Source/MediaInfo/Audio/File_Dat.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -401,7 +401,7 @@ void File_Dat::Data_Parse()
}
Frame.dtsubid_pno = pno;
}
if (dataid || numpacks >= 8 || numpacks >= 8 || !pno_IsValid) {
if (dataid || numpacks >= 8 || !pno_IsValid) {
Trusted_IsNot("dtsubid");
}
Element_End0();
Expand Down Expand Up @@ -536,7 +536,7 @@ void File_Dat::Data_Parse()
Previous = Priv->Frame_Last.TCs[i];
Previous.SetFramesMax(Frame.TCs[i].GetFramesMax());
Ref = Previous;
Ref++;
++Ref;
}
int32u Value = 0;
Value |= (int32u)Frame.TCs[i].ToSeconds() << 8;
Expand Down
2 changes: 1 addition & 1 deletion Source/MediaInfo/Audio/File_DolbyE.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2388,7 +2388,7 @@ void File_DolbyE::program_assignment()
{
bool b_standard_chan_assign;
Get_SB (b_standard_chan_assign, "b_standard_chan_assign");
int32u nonstd_bed_channel_assignment_mask;
int32u nonstd_bed_channel_assignment_mask{};
if (b_standard_chan_assign)
{
int16u bed_channel_assignment_mask;
Expand Down
Loading