diff --git a/src/api/api_lib.c b/src/api/api_lib.c index c61bf961..481b2e72 100644 --- a/src/api/api_lib.c +++ b/src/api/api_lib.c @@ -872,7 +872,7 @@ netconn_gethostbyname(const char *name, ip_addr_t *addr) void netconn_thread_init(void) { sys_sem_t *sem = LWIP_NETCONN_THREAD_SEM_GET(); - if (!sys_sem_valid(sem)) { + if ((sem == NULL) || !sys_sem_valid(sem)) { /* call alloc only once */ LWIP_NETCONN_THREAD_SEM_ALLOC(); LWIP_ASSERT("LWIP_NETCONN_THREAD_SEM_ALLOC() failed", sys_sem_valid(LWIP_NETCONN_THREAD_SEM_GET())); @@ -882,7 +882,7 @@ void netconn_thread_init(void) void netconn_thread_cleanup(void) { sys_sem_t *sem = LWIP_NETCONN_THREAD_SEM_GET(); - if (sys_sem_valid(sem)) { + if ((sem != NULL) && sys_sem_valid(sem)) { /* call free only once */ LWIP_NETCONN_THREAD_SEM_FREE(); }