summaryrefslogtreecommitdiff
path: root/binaryview.cpp
diff options
context:
space:
mode:
authorrollsafe <rollsafe@users.noreply.github.com>2019-06-03 18:43:32 -0400
committerYour Name <you@example.com>2019-06-06 19:28:27 -0400
commitc5154605500b4a654276b103c6d2a19622febf97 (patch)
treec459672e8e55d88fd12fbb48d39943fbf414cb7a /binaryview.cpp
parent522b1b7395fb4cbdba40b49c73b1f7577524fb1a (diff)
Fix GetCodeReferencesFrom
Diffstat (limited to 'binaryview.cpp')
-rw-r--r--binaryview.cpp14
1 files changed, 2 insertions, 12 deletions
diff --git a/binaryview.cpp b/binaryview.cpp
index c78e43cf..01640dcb 100644
--- a/binaryview.cpp
+++ b/binaryview.cpp
@@ -1447,12 +1447,7 @@ vector<uint64_t> BinaryView::GetCodeReferencesFrom(ReferenceSource src)
size_t count;
BNReferenceSource _src{ src.func->m_object, src.arch->m_object, src.addr };
uint64_t* refs = BNGetCodeReferencesFrom(m_object, &_src, &count);
-
- vector<uint64_t> result;
- result.reserve(count);
- for (size_t i = 0; i < count; i++)
- result[i] = refs[i];
-
+ vector<uint64_t> result(refs, &refs[count]);
BNFreeCodeReferencesFrom(refs);
return result;
}
@@ -1463,12 +1458,7 @@ vector<uint64_t> BinaryView::GetCodeReferencesFrom(ReferenceSource src, uint64_t
size_t count;
BNReferenceSource _src{ src.func->m_object, src.arch->m_object, src.addr };
uint64_t* refs = BNGetCodeReferencesFromInRange(m_object, &_src, len, &count);
-
- vector<uint64_t> result;
- result.reserve(count);
- for (size_t i = 0; i < count; i++)
- result[i] = refs[i];
-
+ vector<uint64_t> result(refs, &refs[count]);
BNFreeCodeReferencesFrom(refs);
return result;
}