From 2d345b04c32d1cdede9b7787462bc7ae05b781d1 Mon Sep 17 00:00:00 2001 From: Sander Speetjens Date: Thu, 30 Nov 2023 22:03:30 +0100 Subject: [PATCH] tcp_cmd add error checking to init function --- project/Core/Src/tcp_cmd.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/project/Core/Src/tcp_cmd.c b/project/Core/Src/tcp_cmd.c index 684bc9b..5982430 100644 --- a/project/Core/Src/tcp_cmd.c +++ b/project/Core/Src/tcp_cmd.c @@ -356,8 +356,25 @@ static void tcp_cmd_close(struct tcp_pcb* pcb) { void tcp_cmd_init(void) { struct tcp_pcb* tcp_pcb; tcp_pcb = tcp_new(); - tcp_bind(tcp_pcb, IP_ADDR_ANY, 23); + + if (tcp_pcb == NULL) { + LOG_CRIT(TAG, "Failed to allocate pcb"); + return; + } + + if (tcp_bind(tcp_pcb, IP_ADDR_ANY, 23) != ERR_OK) { + LOG_CRIT(TAG, "Failed to bind pcb"); + free(tcp_pcb); + return; + } + tcp_pcb = tcp_listen(tcp_pcb); + if (tcp_pcb == NULL) { + LOG_CRIT(TAG, "Failed to listen"); + free(tcp_pcb); + return; + } + tcp_accept(tcp_pcb, tcp_cmd_accept); }