release-request-bbc747ae-190b-4d38-8704-432aa6396c16-for-git_oc-mr1-release-4351869 snap-temp-L93800000104806132
Change-Id: I9415798bb745f89d0d97458a2d3248fe45316b55
diff --git a/platform/slpi/host_link.cc b/platform/slpi/host_link.cc
index cf1b957..ce37382 100644
--- a/platform/slpi/host_link.cc
+++ b/platform/slpi/host_link.cc
@@ -260,10 +260,13 @@
startedSuccessfully);
};
+ // Re-wrap the callback data struct, so it is destructed and freed, ensuring
+ // we don't leak the embedded UniquePtr<Nanoapp>
+ UniquePtr<LoadNanoappCallbackData> dataWrapped(
+ static_cast<LoadNanoappCallbackData *>(data));
constexpr size_t kInitialBufferSize = 48;
buildAndEnqueueMessage(PendingMessageType::LoadNanoappResponse,
kInitialBufferSize, msgBuilder, data);
- memoryFree(data);
}
void handleUnloadNanoappCallback(uint16_t /*eventType*/, void *data) {