• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1From dcdd7d73c6083a63fe966a68f11eddcafa3fd743 Mon Sep 17 00:00:00 2001
2From: hantwofish <hankangkang5@huawei.com>
3Date: Thu, 14 Dec 2023 14:51:37 +0800
4Subject: [PATCH] resove null pointer
5
6---
7 src/api/sockets.c | 8 +++++---
8 1 file changed, 5 insertions(+), 3 deletions(-)
9
10diff --git a/src/api/sockets.c b/src/api/sockets.c
11index a9d39ae..0b3e4ea 100644
12--- a/src/api/sockets.c
13+++ b/src/api/sockets.c
14@@ -801,15 +801,17 @@ lwip_accept4(int s, struct sockaddr *addr, socklen_t *addrlen, int flags)
15 #endif /* GAZELLE_ENABLE */
16   nsock = &sockets[newsock - LWIP_SOCKET_OFFSET];
17 #if GAZELLE_ENABLE
18+  int ret = 0;
19   struct tcp_pcb *pcb = newconn->pcb.tcp;
20-  if (pcb->client_rx_ring != NULL && pcb->client_tx_ring != NULL) {
21-    if (find_same_node_memzone(pcb, nsock) != 0) {
22+  if (pcb != NULL && pcb->client_rx_ring != NULL && pcb->client_tx_ring != NULL) {
23+    ret = find_same_node_memzone(pcb, nsock);
24+  }
25+  if (pcb == NULL || ret != 0) {
26       netconn_delete(newconn);
27       free_socket(nsock, 1);
28       sock_set_errno(sock, ENOTCONN);
29       done_socket(sock);
30       return -1;
31-    }
32   }
33 #endif
34
35--
362.33.0
37
38