diff --git a/frameworks/libhilog/socket/dgram_socket_server.cpp b/frameworks/libhilog/socket/dgram_socket_server.cpp index 2964865918898957153f417fd4c3d24c29ade637..2e6840dfb0bccde1111e6064342fb0e5b75cb261 100644 --- a/frameworks/libhilog/socket/dgram_socket_server.cpp +++ b/frameworks/libhilog/socket/dgram_socket_server.cpp @@ -57,7 +57,7 @@ int DgramSocketServer::RecvPacket(std::vector& buffer, struct ucred *cred) return ret; } else if (cred != nullptr) { struct cmsghdr *cmsg = CMSG_FIRSTHDR(&msgh); - struct ucred *receivedUcred = (struct ucred*)CMSG_DATA(cmsg); + struct ucred *receivedUcred = (cmsg == nullptr) ? (nullptr) : ((struct ucred*)CMSG_DATA(cmsg)); if (receivedUcred == nullptr) { return 0; }