summaryrefslogtreecommitdiff
path: root/firmwareninja.cpp
diff options
context:
space:
mode:
authorMason Reed <mason@vector35.com>2025-06-13 02:36:35 -0400
committerMason Reed <mason@vector35.com>2025-06-13 02:36:35 -0400
commit0c34857925e6b0c220871f921f5cf4d59bbdb403 (patch)
tree961df42cc54dbb3a2ebbcbf30abbdbf3930cb027 /firmwareninja.cpp
parent5700131107640018205653472891110147818179 (diff)
Fix misc memory leaks in C++ API
Diffstat (limited to 'firmwareninja.cpp')
-rw-r--r--firmwareninja.cpp31
1 files changed, 18 insertions, 13 deletions
diff --git a/firmwareninja.cpp b/firmwareninja.cpp
index 1b159b4a..fef4af70 100644
--- a/firmwareninja.cpp
+++ b/firmwareninja.cpp
@@ -251,11 +251,11 @@ Ref<Function> FirmwareNinjaRelationship::GetSecondaryFunction() const
std::string FirmwareNinjaRelationship::GetSecondaryExternalSymbol() const
{
- std::string result = "";
auto bnSymbol = BNFirmwareNinjaRelationshipGetSecondaryExternalSymbol(m_object);
- if (bnSymbol)
- result = std::string(bnSymbol);
-
+ if (!bnSymbol)
+ return "";
+ std::string result = bnSymbol;
+ BNFreeString(bnSymbol);
return result;
}
@@ -268,11 +268,11 @@ void FirmwareNinjaRelationship::SetDescription(const std::string& description)
std::string FirmwareNinjaRelationship::GetDescription() const
{
- std::string result = "";
auto bnDescription = BNFirmwareNinjaRelationshipGetDescription(m_object);
- if (bnDescription)
- result = std::string(bnDescription);
-
+ if (!bnDescription)
+ return "";
+ std::string result = bnDescription;
+ BNFreeString(bnDescription);
return result;
}
@@ -285,18 +285,23 @@ void FirmwareNinjaRelationship::SetProvenance(const std::string& provenance)
std::string FirmwareNinjaRelationship::GetProvenance() const
{
- std::string result = "";
auto bnProvenance = BNFirmwareNinjaRelationshipGetProvenance(m_object);
- if (bnProvenance)
- result = std::string(bnProvenance);
-
+ if (!bnProvenance)
+ return "";
+ std::string result = bnProvenance;
+ BNFreeString(bnProvenance);
return result;
}
std::string FirmwareNinjaRelationship::GetGuid() const
{
- return BNFirmwareNinjaRelationshipGetGuid(m_object);
+ auto bnGuid = BNFirmwareNinjaRelationshipGetGuid(m_object);
+ if (!bnGuid)
+ return "";
+ std::string result = bnGuid;
+ BNFreeString(bnGuid);
+ return result;
}