From 7a24666bf45b92f2a2bedd0559411c7ce019832c Mon Sep 17 00:00:00 2001 From: Rongli Sun Date: Mon, 26 Oct 2020 12:05:59 +0800 Subject: [PATCH] [posix] fix udp close (#5690) --- src/posix/platform/udp.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/posix/platform/udp.cpp b/src/posix/platform/udp.cpp index 8993ca1b9..5151f51fd 100644 --- a/src/posix/platform/udp.cpp +++ b/src/posix/platform/udp.cpp @@ -240,7 +240,10 @@ otError otPlatUdpClose(otUdpSocket *aUdpSocket) otError error = OT_ERROR_NONE; int fd; - VerifyOrExit(aUdpSocket->mHandle != nullptr, error = OT_ERROR_INVALID_ARGS); + // Only call `close()` on platform UDP sockets. + // Platform UDP sockets always have valid `mHandle` upon creation. + VerifyOrExit(aUdpSocket->mHandle != nullptr); + fd = FdFromHandle(aUdpSocket->mHandle); VerifyOrExit(0 == close(fd), error = OT_ERROR_FAILED);