diff options
author | Roshan Pius <rpius@google.com> | 2017-03-02 07:24:41 -0800 |
---|---|---|
committer | Roshan Pius <rpius@google.com> | 2017-03-02 14:21:20 -0800 |
commit | 590744b1c164194b14bd01352a2cc9a2f5a21c70 (patch) | |
tree | 3f9a9bce59ee082d1ea6c52952730bc7ae0b6a63 /wifi/1.0/default/hidl_struct_util.cpp | |
parent | 208e46bbc2ab0c824dad366eaee318df09e6ca12 (diff) |
wifi(implementation): Clear all structs before conversion
Bug: 35445613
Test: Integration tests
Change-Id: I5c32ab580588f4521291ac8cb05ee42ce6e5bf31
Diffstat (limited to 'wifi/1.0/default/hidl_struct_util.cpp')
-rw-r--r-- | wifi/1.0/default/hidl_struct_util.cpp | 67 |
1 files changed, 52 insertions, 15 deletions
diff --git a/wifi/1.0/default/hidl_struct_util.cpp b/wifi/1.0/default/hidl_struct_util.cpp index 6952e5563e..485ae7ea81 100644 --- a/wifi/1.0/default/hidl_struct_util.cpp +++ b/wifi/1.0/default/hidl_struct_util.cpp @@ -96,7 +96,7 @@ bool convertLegacyFeaturesToHidlChipCapabilities( if (!hidl_caps) { return false; } - *hidl_caps = 0; + *hidl_caps = {}; using HidlChipCaps = IWifiChip::ChipCapabilityMask; for (const auto feature : {legacy_hal::WIFI_LOGGER_MEMORY_DUMP_SUPPORTED, legacy_hal::WIFI_LOGGER_DRIVER_DUMP_SUPPORTED, @@ -133,6 +133,7 @@ bool convertLegacyDebugRingBufferStatusToHidl( if (!hidl_status) { return false; } + *hidl_status = {}; hidl_status->ringName = reinterpret_cast<const char*>(legacy_status.name); hidl_status->flags = 0; for (const auto flag : {WIFI_RING_BUFFER_FLAG_HAS_BINARY_ENTRIES, @@ -165,7 +166,7 @@ bool convertLegacyVectorOfDebugRingBufferStatusToHidl( if (!hidl_status_vec) { return false; } - hidl_status_vec->clear(); + *hidl_status_vec = {}; for (const auto& legacy_status : legacy_status_vec) { WifiDebugRingBufferStatus hidl_status; if (!convertLegacyDebugRingBufferStatusToHidl(legacy_status, @@ -183,6 +184,7 @@ bool convertLegacyWakeReasonStatsToHidl( if (!hidl_stats) { return false; } + *hidl_stats = {}; hidl_stats->totalCmdEventWakeCnt = legacy_stats.wake_reason_cnt.total_cmd_event_wake; hidl_stats->cmdEventWakeCntPerType = legacy_stats.cmd_event_wake_cnt; @@ -227,6 +229,7 @@ bool convertLegacyFeaturesToHidlStaCapabilities( if (!hidl_caps) { return false; } + *hidl_caps = {}; *hidl_caps = 0; using HidlStaIfaceCaps = IWifiStaIface::StaIfaceCapabilityMask; for (const auto feature : {legacy_hal::WIFI_LOGGER_PACKET_FATE_SUPPORTED}) { @@ -263,6 +266,7 @@ bool convertLegacyApfCapabilitiesToHidl( if (!hidl_caps) { return false; } + *hidl_caps = {}; hidl_caps->version = legacy_caps.version; hidl_caps->maxLength = legacy_caps.max_len; return true; @@ -299,6 +303,7 @@ bool convertLegacyGscanCapabilitiesToHidl( if (!hidl_caps) { return false; } + *hidl_caps = {}; hidl_caps->maxCacheSize = legacy_caps.max_scan_cache_size; hidl_caps->maxBuckets = legacy_caps.max_scan_buckets; hidl_caps->maxApCachePerScan = legacy_caps.max_ap_cache_per_scan; @@ -332,6 +337,7 @@ bool convertHidlGscanParamsToLegacy( if (!legacy_scan_params) { return false; } + *legacy_scan_params = {}; legacy_scan_params->base_period = hidl_scan_params.basePeriodInMs; legacy_scan_params->max_ap_per_scan = hidl_scan_params.maxApPerScan; legacy_scan_params->report_threshold_percent = @@ -384,6 +390,7 @@ bool convertLegacyIeToHidl( if (!hidl_ie) { return false; } + *hidl_ie = {}; hidl_ie->id = legacy_ie.id; hidl_ie->data = std::vector<uint8_t>(legacy_ie.data, legacy_ie.data + legacy_ie.len); @@ -396,6 +403,7 @@ bool convertLegacyIeBlobToHidl(const uint8_t* ie_blob, if (!ie_blob || !hidl_ies) { return false; } + *hidl_ies = {}; const uint8_t* ies_begin = ie_blob; const uint8_t* ies_end = ie_blob + ie_blob_len; const uint8_t* next_ie = ies_begin; @@ -426,6 +434,7 @@ bool convertLegacyGscanResultToHidl( if (!hidl_scan_result) { return false; } + *hidl_scan_result = {}; hidl_scan_result->timeStampInUs = legacy_scan_result.ts; hidl_scan_result->ssid = std::vector<uint8_t>( legacy_scan_result.ssid, @@ -456,6 +465,7 @@ bool convertLegacyCachedGscanResultsToHidl( if (!hidl_scan_data) { return false; } + *hidl_scan_data = {}; hidl_scan_data->flags = 0; for (const auto flag : {legacy_hal::WIFI_SCAN_FLAG_INTERRUPTED}) { if (legacy_cached_scan_result.flags & flag) { @@ -492,7 +502,7 @@ bool convertLegacyVectorOfCachedGscanResultsToHidl( if (!hidl_scan_datas) { return false; } - hidl_scan_datas->clear(); + *hidl_scan_datas = {}; for (const auto& legacy_cached_scan_result : legacy_cached_scan_results) { StaScanData hidl_scan_data; if (!convertLegacyCachedGscanResultsToHidl(legacy_cached_scan_result, @@ -579,6 +589,7 @@ bool convertLegacyDebugPacketFateFrameToHidl( if (!hidl_frame) { return false; } + *hidl_frame = {}; hidl_frame->frameType = convertLegacyDebugPacketFateFrameTypeToHidl(legacy_frame.payload_type); hidl_frame->frameLen = legacy_frame.frame_len; @@ -597,6 +608,7 @@ bool convertLegacyDebugTxPacketFateToHidl( if (!hidl_fate) { return false; } + *hidl_fate = {}; hidl_fate->fate = convertLegacyDebugTxPacketFateToHidl(legacy_fate.fate); return convertLegacyDebugPacketFateFrameToHidl(legacy_fate.frame_inf, &hidl_fate->frameInfo); @@ -608,7 +620,7 @@ bool convertLegacyVectorOfDebugTxPacketFateToHidl( if (!hidl_fates) { return false; } - hidl_fates->clear(); + *hidl_fates = {}; for (const auto& legacy_fate : legacy_fates) { WifiDebugTxPacketFateReport hidl_fate; if (!convertLegacyDebugTxPacketFateToHidl(legacy_fate, &hidl_fate)) { @@ -625,6 +637,7 @@ bool convertLegacyDebugRxPacketFateToHidl( if (!hidl_fate) { return false; } + *hidl_fate = {}; hidl_fate->fate = convertLegacyDebugRxPacketFateToHidl(legacy_fate.fate); return convertLegacyDebugPacketFateFrameToHidl(legacy_fate.frame_inf, &hidl_fate->frameInfo); @@ -636,7 +649,7 @@ bool convertLegacyVectorOfDebugRxPacketFateToHidl( if (!hidl_fates) { return false; } - hidl_fates->clear(); + *hidl_fates = {}; for (const auto& legacy_fate : legacy_fates) { WifiDebugRxPacketFateReport hidl_fate; if (!convertLegacyDebugRxPacketFateToHidl(legacy_fate, &hidl_fate)) { @@ -653,6 +666,7 @@ bool convertLegacyLinkLayerStatsToHidl( if (!hidl_stats) { return false; } + *hidl_stats = {}; // iface legacy_stats conversion. hidl_stats->iface.beaconRx = legacy_stats.iface.beacon_rx; hidl_stats->iface.avgRssiMgmt = legacy_stats.iface.rssi_mgmt; @@ -706,6 +720,7 @@ bool convertLegacyRoamingCapabilitiesToHidl( if (!hidl_caps) { return false; } + *hidl_caps = {}; hidl_caps->maxBlacklistSize = legacy_caps.max_blacklist_size; hidl_caps->maxWhitelistSize = legacy_caps.max_whitelist_size; return true; @@ -717,6 +732,7 @@ bool convertHidlRoamingConfigToLegacy( if (!legacy_config) { return false; } + *legacy_config = {}; if (hidl_config.bssidBlacklist.size() > MAX_BLACKLIST_BSSID || hidl_config.ssidWhitelist.size() > MAX_WHITELIST_SSID) { return false; @@ -762,7 +778,7 @@ bool convertHidlNanEnableRequestToLegacy( LOG(ERROR) << "convertHidlNanEnableRequestToLegacy: null legacy_request"; return false; } - memset(legacy_request, 0, sizeof(legacy_hal::NanEnableRequest)); + *legacy_request = {}; legacy_request->config_2dot4g_support = 1; legacy_request->support_2dot4g_val = hidl_request.operateInBand[ @@ -892,7 +908,7 @@ bool convertHidlNanPublishRequestToLegacy( LOG(ERROR) << "convertHidlNanPublishRequestToLegacy: null legacy_request"; return false; } - memset(legacy_request, 0, sizeof(legacy_hal::NanPublishRequest)); + *legacy_request = {}; legacy_request->publish_id = hidl_request.baseConfigs.sessionId; legacy_request->ttl = hidl_request.baseConfigs.ttlSec; @@ -984,7 +1000,7 @@ bool convertHidlNanSubscribeRequestToLegacy( LOG(ERROR) << "convertHidlNanSubscribeRequestToLegacy: legacy_request is null"; return false; } - memset(legacy_request, 0, sizeof(legacy_hal::NanSubscribeRequest)); + *legacy_request = {}; legacy_request->subscribe_id = hidl_request.baseConfigs.sessionId; legacy_request->ttl = hidl_request.baseConfigs.ttlSec; @@ -1089,7 +1105,7 @@ bool convertHidlNanTransmitFollowupRequestToLegacy( LOG(ERROR) << "convertHidlNanTransmitFollowupRequestToLegacy: legacy_request is null"; return false; } - memset(legacy_request, 0, sizeof(legacy_hal::NanTransmitFollowupRequest)); + *legacy_request = {}; legacy_request->publish_subscribe_id = hidl_request.discoverySessionId; legacy_request->requestor_instance_id = hidl_request.peerId; @@ -1128,7 +1144,7 @@ bool convertHidlNanConfigRequestToLegacy( LOG(ERROR) << "convertHidlNanConfigRequestToLegacy: legacy_request is null"; return false; } - memset(legacy_request, 0, sizeof(legacy_hal::NanConfigRequest)); + *legacy_request = {}; // TODO: b/34059183 tracks missing configurations in legacy HAL or uknown defaults legacy_request->master_pref = hidl_request.masterPref; @@ -1218,7 +1234,7 @@ bool convertHidlNanDataPathInitiatorRequestToLegacy( LOG(ERROR) << "convertHidlNanDataPathInitiatorRequestToLegacy: legacy_request is null"; return false; } - memset(legacy_request, 0, sizeof(legacy_hal::NanDataPathInitiatorRequest)); + *legacy_request = {}; legacy_request->requestor_instance_id = hidl_request.peerId; memcpy(legacy_request->peer_disc_mac_addr, hidl_request.peerDiscMacAddr.data(), 6); @@ -1253,7 +1269,7 @@ bool convertHidlNanDataPathIndicationResponseToLegacy( LOG(ERROR) << "convertHidlNanDataPathIndicationResponseToLegacy: legacy_request is null"; return false; } - memset(legacy_request, 0, sizeof(legacy_hal::NanDataPathIndicationResponse)); + *legacy_request = {}; legacy_request->rsp_code = hidl_request.acceptRequest ? legacy_hal::NAN_DP_REQUEST_ACCEPT : legacy_hal::NAN_DP_REQUEST_REJECT; @@ -1286,9 +1302,10 @@ bool convertLegacyNanResponseHeaderToHidl( LOG(ERROR) << "convertLegacyNanResponseHeaderToHidl: wifiNanStatus is null"; return false; } + *wifiNanStatus = {}; + wifiNanStatus->status = convertLegacyNanStatusTypeToHidl(legacy_response.status); wifiNanStatus->description = legacy_response.nan_error; - return true; } @@ -1299,6 +1316,8 @@ bool convertLegacyNanCapabilitiesResponseToHidl( LOG(ERROR) << "convertLegacyNanCapabilitiesResponseToHidl: hidl_response is null"; return false; } + *hidl_response = {}; + hidl_response->maxConcurrentClusters = legacy_response.max_concurrent_nan_clusters; hidl_response->maxPublishes = legacy_response.max_publishes; hidl_response->maxSubscribes = legacy_response.max_subscribes; @@ -1325,6 +1344,8 @@ bool convertLegacyNanMatchIndToHidl( LOG(ERROR) << "convertLegacyNanMatchIndToHidl: hidl_ind is null"; return false; } + *hidl_ind = {}; + hidl_ind->discoverySessionId = legacy_ind.publish_subscribe_id; hidl_ind->peerId = legacy_ind.requestor_instance_id; hidl_ind->addr = hidl_array<uint8_t, 6>(legacy_ind.addr); @@ -1356,6 +1377,8 @@ bool convertLegacyNanFollowupIndToHidl( LOG(ERROR) << "convertLegacyNanFollowupIndToHidl: hidl_ind is null"; return false; } + *hidl_ind = {}; + hidl_ind->discoverySessionId = legacy_ind.publish_subscribe_id; hidl_ind->peerId = legacy_ind.requestor_instance_id; hidl_ind->addr = hidl_array<uint8_t, 6>(legacy_ind.addr); @@ -1376,6 +1399,8 @@ bool convertLegacyNanDataPathRequestIndToHidl( LOG(ERROR) << "convertLegacyNanDataPathRequestIndToHidl: hidl_ind is null"; return false; } + *hidl_ind = {}; + hidl_ind->discoverySessionId = legacy_ind.service_instance_id; hidl_ind->peerDiscMacAddr = hidl_array<uint8_t, 6>(legacy_ind.peer_disc_mac_addr); hidl_ind->ndpInstanceId = legacy_ind.ndp_instance_id; @@ -1394,6 +1419,8 @@ bool convertLegacyNanDataPathConfirmIndToHidl( LOG(ERROR) << "convertLegacyNanDataPathConfirmIndToHidl: hidl_ind is null"; return false; } + *hidl_ind = {}; + hidl_ind->ndpInstanceId = legacy_ind.ndp_instance_id; hidl_ind->dataPathSetupSuccess = legacy_ind.rsp_code == legacy_hal::NAN_DP_REQUEST_ACCEPT; hidl_ind->peerNdiMacAddr = hidl_array<uint8_t, 6>(legacy_ind.peer_ndi_mac_addr); @@ -1635,6 +1662,7 @@ bool convertHidlWifiChannelInfoToLegacy( if (!legacy_info) { return false; } + *legacy_info = {}; legacy_info->width = convertHidlWifiChannelWidthToLegacy(hidl_info.width); legacy_info->center_freq = hidl_info.centerFreq; legacy_info->center_freq0 = hidl_info.centerFreq0; @@ -1648,6 +1676,7 @@ bool convertLegacyWifiChannelInfoToHidl( if (!hidl_info) { return false; } + *hidl_info = {}; hidl_info->width = convertLegacyWifiChannelWidthToHidl(legacy_info.width); hidl_info->centerFreq = legacy_info.center_freq; hidl_info->centerFreq0 = legacy_info.center_freq0; @@ -1660,6 +1689,7 @@ bool convertHidlRttConfigToLegacy(const RttConfig& hidl_config, if (!legacy_config) { return false; } + *legacy_config = {}; CHECK(hidl_config.addr.size() == sizeof(legacy_config->addr)); memcpy(legacy_config->addr, hidl_config.addr.data(), hidl_config.addr.size()); legacy_config->type = convertHidlRttTypeToLegacy(hidl_config.type); @@ -1688,7 +1718,7 @@ bool convertHidlVectorOfRttConfigToLegacy( if (!legacy_configs) { return false; } - legacy_configs->clear(); + *legacy_configs = {}; for (const auto& hidl_config : hidl_configs) { legacy_hal::wifi_rtt_config legacy_config; if (!convertHidlRttConfigToLegacy(hidl_config, &legacy_config)) { @@ -1705,6 +1735,7 @@ bool convertHidlRttLciInformationToLegacy( if (!legacy_info) { return false; } + *legacy_info = {}; legacy_info->latitude = hidl_info.latitude; legacy_info->longitude = hidl_info.longitude; legacy_info->altitude = hidl_info.altitude; @@ -1725,6 +1756,7 @@ bool convertHidlRttLcrInformationToLegacy( if (!legacy_info) { return false; } + *legacy_info = {}; CHECK(hidl_info.countryCode.size() == sizeof(legacy_info->country_code)); memcpy(legacy_info->country_code, hidl_info.countryCode.data(), @@ -1745,6 +1777,7 @@ bool convertHidlRttResponderToLegacy( if (!legacy_responder) { return false; } + *legacy_responder = {}; if (!convertHidlWifiChannelInfoToLegacy(hidl_responder.channel, &legacy_responder->channel)) { return false; @@ -1760,6 +1793,7 @@ bool convertLegacyRttResponderToHidl( if (!hidl_responder) { return false; } + *hidl_responder = {}; if (!convertLegacyWifiChannelInfoToHidl(legacy_responder.channel, &hidl_responder->channel)) { return false; @@ -1775,6 +1809,7 @@ bool convertLegacyRttCapabilitiesToHidl( if (!hidl_capabilities) { return false; } + *hidl_capabilities = {}; hidl_capabilities->rttOneSidedSupported = legacy_capabilities.rtt_one_sided_supported; hidl_capabilities->rttFtmSupported = legacy_capabilities.rtt_ftm_supported; @@ -1814,6 +1849,7 @@ bool convertLegacyWifiRateInfoToHidl(const legacy_hal::wifi_rate& legacy_rate, if (!hidl_rate) { return false; } + *hidl_rate = {}; hidl_rate->preamble = convertLegacyWifiRatePreambleToHidl(legacy_rate.preamble); hidl_rate->nss = convertLegacyWifiRateNssToHidl(legacy_rate.nss); @@ -1829,6 +1865,7 @@ bool convertLegacyRttResultToHidl( if (!hidl_result) { return false; } + *hidl_result = {}; CHECK(sizeof(legacy_result.addr) == hidl_result->addr.size()); memcpy( hidl_result->addr.data(), legacy_result.addr, sizeof(legacy_result.addr)); @@ -1873,7 +1910,7 @@ bool convertLegacyVectorOfRttResultToHidl( if (!hidl_results) { return false; } - hidl_results->clear(); + *hidl_results = {}; for (const auto legacy_result : legacy_results) { RttResult hidl_result; if (!convertLegacyRttResultToHidl(*legacy_result, &hidl_result)) { |