Skip to content

Commit 3967000

Browse files
SmoothHackerCouleeApps
authored andcommitted
Add missing std::vector reserve calls
# Conflicts: # function.cpp
1 parent 908a189 commit 3967000

12 files changed

+21
-0
lines changed

architecture.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1902,6 +1902,7 @@ vector<uint32_t> CoreArchitecture::GetAllSemanticFlagClasses()
19021902
uint32_t* regs = BNGetAllArchitectureSemanticFlagClasses(m_object, &count);
19031903

19041904
vector<uint32_t> result;
1905+
result.reserve(count);
19051906
for (size_t i = 0; i < count; i++)
19061907
result.push_back(regs[i]);
19071908

@@ -1916,6 +1917,7 @@ vector<uint32_t> CoreArchitecture::GetAllSemanticFlagGroups()
19161917
uint32_t* regs = BNGetAllArchitectureSemanticFlagGroups(m_object, &count);
19171918

19181919
vector<uint32_t> result;
1920+
result.reserve(count);
19191921
for (size_t i = 0; i < count; i++)
19201922
result.push_back(regs[i]);
19211923

@@ -1936,6 +1938,7 @@ vector<uint32_t> CoreArchitecture::GetFlagsRequiredForFlagCondition(BNLowLevelIL
19361938
uint32_t* flags = BNGetArchitectureFlagsRequiredForFlagCondition(m_object, cond, semClass, &count);
19371939

19381940
vector<uint32_t> result;
1941+
result.reserve(count);
19391942
for (size_t i = 0; i < count; i++)
19401943
result.push_back(flags[i]);
19411944

@@ -2079,6 +2082,7 @@ vector<uint32_t> CoreArchitecture::GetAllRegisterStacks()
20792082
uint32_t* regs = BNGetAllArchitectureRegisterStacks(m_object, &count);
20802083

20812084
vector<uint32_t> result;
2085+
result.reserve(count);
20822086
for (size_t i = 0; i < count; i++)
20832087
result.push_back(regs[i]);
20842088

@@ -2114,6 +2118,7 @@ vector<uint32_t> CoreArchitecture::GetAllIntrinsics()
21142118
uint32_t* regs = BNGetAllArchitectureIntrinsics(m_object, &count);
21152119

21162120
vector<uint32_t> result;
2121+
result.reserve(count);
21172122
for (size_t i = 0; i < count; i++)
21182123
result.push_back(regs[i]);
21192124

basedetection.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ std::vector<BNBaseAddressDetectionReason> BaseAddressDetection::GetReasonsForBas
8484
if (!reasons)
8585
return result;
8686

87+
result.reserve(count);
8788
for (size_t i = 0; i < count; i++)
8889
result.push_back(reasons[i]);
8990

binaryninjaapi.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -454,6 +454,7 @@ BinaryNinja::ProgressFunction BinaryNinja::SplitProgress(
454454
// Keep a running count of weights for the start
455455
std::vector<double> subpartStarts;
456456
double start = 0.0;
457+
subpartStarts.reserve(subpartWeights.size());
457458
for (size_t i = 0; i < subpartWeights.size(); ++i)
458459
{
459460
subpartStarts.push_back(start);

binaryview.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2418,6 +2418,7 @@ vector<Ref<Function>> BinaryView::GetAllEntryFunctions()
24182418
return {};
24192419

24202420
vector<Ref<Function>> result;
2421+
result.reserve(count);
24212422
for (size_t i = 0; i < count; i++)
24222423
result.push_back(new Function(BNNewFunctionReference(funcs[i])));
24232424
BNFreeFunctionList(funcs, count);
@@ -4377,6 +4378,7 @@ vector<pair<QualifiedName, Ref<Type>>> BinaryView::GetDependencySortedTypes()
43774378
BNQualifiedNameAndType* types = BNGetAnalysisDependencySortedTypeList(m_object, &count);
43784379

43794380
vector<pair<QualifiedName, Ref<Type>>> result;
4381+
result.reserve(count);
43804382
for (size_t i = 0; i < count; i++)
43814383
{
43824384
QualifiedName name = QualifiedName::FromAPIObject(&types[i].name);
@@ -4647,6 +4649,7 @@ std::vector<Ref<TypeLibrary>> BinaryView::GetTypeLibraries()
46474649
BNTypeLibrary** libs = BNGetBinaryViewTypeLibraries(m_object, &count);
46484650

46494651
vector<Ref<TypeLibrary>> result;
4652+
result.reserve(count);
46504653
for (size_t i = 0; i < count; ++i)
46514654
{
46524655
result.push_back(new TypeLibrary(BNNewTypeLibraryReference(libs[i])));

debuginfo.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,13 +91,16 @@ vector<DebugFunctionInfo> DebugInfo::GetFunctions(const string& parserName) cons
9191
return {};
9292

9393
vector<DebugFunctionInfo> result;
94+
result.reserve(count);
9495
for (size_t i = 0; i < count; ++i)
9596
{
9697
vector<string> components;
98+
components.reserve(functions[i].componentN);
9799
for (size_t componentN = 0; componentN < functions[i].componentN; ++componentN)
98100
components.emplace_back(functions[i].components[componentN]);
99101

100102
vector<VariableNameAndType> localVariables;
103+
localVariables.reserve(functions[i].localVariableN);
101104
for (size_t localVariableN = 0; localVariableN < functions[i].localVariableN; ++localVariableN)
102105
{
103106
auto& bnVar = functions[i].localVariables[localVariableN];

firmwareninja.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -508,6 +508,7 @@ std::vector<FirmwareNinjaFunctionMemoryAccesses> FirmwareNinja::GetFunctionMemor
508508
FirmwareNinjaFunctionMemoryAccesses info;
509509
info.start = fma[i]->start;
510510
info.count = fma[i]->count;
511+
info.accesses.reserve(info.count);
511512
for (size_t j = 0; j < info.count; j++)
512513
{
513514
BNFirmwareNinjaMemoryAccess access;

function.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -733,6 +733,7 @@ Confidence<vector<uint32_t>> Function::GetReturnRegisters() const
733733
{
734734
BNRegisterSetWithConfidence regs = BNGetFunctionReturnRegisters(m_object);
735735
vector<uint32_t> regList;
736+
regList.reserve(regs.count);
736737
for (size_t i = 0; i < regs.count; i++)
737738
regList.push_back(regs.regs[i]);
738739
Confidence<vector<uint32_t>> result(regList, regs.confidence);

linearviewcursor.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ vector<LinearViewObjectIdentifier> LinearViewCursor::GetPath() const
6868
size_t count;
6969
BNLinearViewObjectIdentifier* path = BNGetLinearViewCursorPath(m_object, &count);
7070
vector<LinearViewObjectIdentifier> result;
71+
result.reserve(count);
7172
for (size_t i = 0; i < count; i++)
7273
{
7374
LinearViewObjectIdentifier id;

platform.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -446,6 +446,7 @@ std::vector<uint32_t> CorePlatform::GetGlobalRegisters()
446446
uint32_t* regs = BNGetPlatformGlobalRegisters(m_object, &count);
447447

448448
std::vector<uint32_t> result;
449+
result.reserve(count);
449450
for (size_t i = 0; i < count; i++)
450451
result.push_back(regs[i]);
451452

possiblevalueset.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ PossibleValueSet PossibleValueSet::FromAPIObject(BNPossibleValueSet& value)
3434
result.size = value.size;
3535
if (value.state == LookupTableValue)
3636
{
37+
result.table.reserve(value.count);
3738
for (size_t i = 0; i < value.count; i++)
3839
{
3940
LookupTableEntry entry;
@@ -45,6 +46,7 @@ PossibleValueSet PossibleValueSet::FromAPIObject(BNPossibleValueSet& value)
4546
}
4647
else if ((value.state == SignedRangeValue) || (value.state == UnsignedRangeValue))
4748
{
49+
result.ranges.reserve(value.count);
4850
for (size_t i = 0; i < value.count; i++)
4951
result.ranges.push_back(value.ranges[i]);
5052
}

0 commit comments

Comments
 (0)