#endif
WDS_LOGI("Current time [%ld]", time);
//LCOV_EXCL_START
+ //wfd_manager_get_peer_info takes responsibility of the oem_dev' memory ownership.
res = wfd_oem_get_peer_info(manager->oem_ops, addr, &oem_dev);
if (res < 0 || !oem_dev) {
WDS_LOGE("Failed to get peer information");//LCOV_EXCL_LINE
if (!peer_dev) {
strerror_r(errno, error_buf, MAX_SIZE_ERROR_BUFFER);
WDS_LOGE("Failed to allocate memory for peer device. [%s]", error_buf);
- free(oem_dev);
+ if (oem_dev->vsie)
+ g_free(oem_dev->vsie);
+ g_free(oem_dev);
return -1;
}
memcpy(peer_dev->dev_addr, addr, MACADDR_LEN);
} else {
if (oem_dev->age > 30 && peer_dev->state == WFD_PEER_STATE_DISCOVERED) {
WDS_LOGE("Too old age to update peer");//LCOV_EXCL_LINE
- free(oem_dev);
+ if (oem_dev->vsie)
+ g_free(oem_dev->vsie);
+ g_free(oem_dev);
return -1;
}
}