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;