diff --git a/Miracast/MiracastService/MiracastController.cpp b/Miracast/MiracastService/MiracastController.cpp index 2c7fae38..924cf6de 100644 --- a/Miracast/MiracastService/MiracastController.cpp +++ b/Miracast/MiracastService/MiracastController.cpp @@ -952,7 +952,7 @@ void MiracastController::Controller_Thread(void *args) authType = "pbc", deviceType = "unknown", result = ""; - m_groupInfo = new GroupInfo; + m_groupInfo = new GroupInfo(); size_t found = event_buffer.find("client"); size_t found_space = event_buffer.find(" "); @@ -1004,7 +1004,6 @@ void MiracastController::Controller_Thread(void *args) std::string default_gw_ip = ""; // STB is a client in the p2p group - m_groupInfo->isGO = false; m_groupInfo->localIPAddr = start_DHCPClient(m_groupInfo->interface, default_gw_ip); if (m_groupInfo->localIPAddr.empty()) { diff --git a/Miracast/common/MiracastCommon.h b/Miracast/common/MiracastCommon.h index f527202d..1417ccc2 100644 --- a/Miracast/common/MiracastCommon.h +++ b/Miracast/common/MiracastCommon.h @@ -125,6 +125,18 @@ typedef struct group_info std::string ipMask; std::string srcDevIPAddr; std::string localIPAddr; + + // Constructor to ensure proper initialization + group_info() + : interface("") + , isGO(false) + , SSID("") + , goDevAddr("") + , ipAddr("") + , ipMask("") + , srcDevIPAddr("") + , localIPAddr("") + {} } GroupInfo; typedef enum msg_type_e