From fb24f8f8111a256143e09ca772a720b8aac83fd2 Mon Sep 17 00:00:00 2001 From: WanqQixiang Date: Thu, 27 Jun 2024 15:54:43 +0800 Subject: [PATCH] Reset the state of DiscoveryImplPlatform to Uninitialized when ChipDnssdInit fails --- src/lib/dnssd/Discovery_ImplPlatform.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/lib/dnssd/Discovery_ImplPlatform.cpp b/src/lib/dnssd/Discovery_ImplPlatform.cpp index a1b28b726614f9..beb733b1276a3f 100644 --- a/src/lib/dnssd/Discovery_ImplPlatform.cpp +++ b/src/lib/dnssd/Discovery_ImplPlatform.cpp @@ -419,7 +419,12 @@ CHIP_ERROR DiscoveryImplPlatform::InitImpl() VerifyOrReturnError(mState == State::kUninitialized, CHIP_NO_ERROR); mState = State::kInitializing; - ReturnErrorOnFailure(ChipDnssdInit(HandleDnssdInit, HandleDnssdError, this)); + CHIP_ERROR err = ChipDnssdInit(HandleDnssdInit, HandleDnssdError, this); + if (err != CHIP_NO_ERROR) + { + mState = State::kUninitialized; + return err; + } UpdateCommissionableInstanceName(); return CHIP_NO_ERROR;