Review radio metadata allocations/deallocations.
Bug: b/34054813
Test: VTS, manual
Change-Id: I8c402ff6fed8d1fe7c5c2d468f2e7822dc0dac6f
diff --git a/services/radio/HidlUtils.cpp b/services/radio/HidlUtils.cpp
index 3b33386..6895377 100644
--- a/services/radio/HidlUtils.cpp
+++ b/services/radio/HidlUtils.cpp
@@ -134,14 +134,18 @@
halInfo->channel, halInfo->subChannel);
}
+// TODO(twasilczyk): drop unnecessary channel info
//static
void HidlUtils::convertMetaDataFromHal(radio_metadata_t **metadata,
const hidl_vec<MetaData>& halMetadata,
- uint32_t channel,
- uint32_t subChannel)
+ uint32_t channel __unused,
+ uint32_t subChannel __unused)
{
- radio_metadata_allocate(metadata, channel, subChannel);
+ if (metadata == nullptr || *metadata == nullptr) {
+ ALOGE("destination metadata buffer is a nullptr");
+ return;
+ }
for (size_t i = 0; i < halMetadata.size(); i++) {
radio_metadata_key_t key = static_cast<radio_metadata_key_t>(halMetadata[i].key);
radio_metadata_type_t type = static_cast<radio_metadata_key_t>(halMetadata[i].type);