From 379aece6dc0ba2bc74c3e6548010df8017cf5359 Mon Sep 17 00:00:00 2001 From: zms123456 <85141075+zmshahaha@users.noreply.github.com> Date: Sun, 15 Sep 2024 01:52:40 +0800 Subject: [PATCH] [components][sal]delay getting sal_proto_family in sal_ioctlsocket --- components/net/sal/src/sal_socket.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/components/net/sal/src/sal_socket.c b/components/net/sal/src/sal_socket.c index aebf8d5ff1..a268c2dceb 100644 --- a/components/net/sal/src/sal_socket.c +++ b/components/net/sal/src/sal_socket.c @@ -1166,12 +1166,9 @@ int sal_ioctlsocket(int socket, long cmd, void *arg) /* get the socket object by socket descriptor */ SAL_SOCKET_OBJ_GET(sock, socket); - /* check the network interface socket opreation */ - SAL_NETDEV_SOCKETOPS_VALID(sock->netdev, pf, ioctlsocket); - struct sal_ifreq *ifr = (struct sal_ifreq *)arg; - if((sock->domain == AF_INET)&&(sock->netdev)&&(ifr != RT_NULL)) + if (ifr != RT_NULL) { switch (cmd) { @@ -1473,6 +1470,10 @@ int sal_ioctlsocket(int socket, long cmd, void *arg) break; } } + + /* check the network interface socket opreation */ + SAL_NETDEV_SOCKETOPS_VALID(sock->netdev, pf, ioctlsocket); + return pf->skt_ops->ioctlsocket((int)(size_t)sock->user_data, cmd, arg); }