@@ -247,6 +247,9 @@ static bool _start_async_task(){
247
247
248
248
static int8_t _tcp_clear_events (void * arg) {
249
249
lwip_event_packet_t * e = (lwip_event_packet_t *)malloc (sizeof (lwip_event_packet_t ));
250
+ if (e == NULL ) {
251
+ return ERR_MEM;
252
+ }
250
253
e->event = LWIP_TCP_CLEAR;
251
254
e->arg = arg;
252
255
if (!_prepend_async_event (&e)) {
@@ -258,6 +261,9 @@ static int8_t _tcp_clear_events(void * arg) {
258
261
static int8_t _tcp_connected (void * arg, tcp_pcb * pcb, int8_t err) {
259
262
// ets_printf("+C: 0x%08x\n", pcb);
260
263
lwip_event_packet_t * e = (lwip_event_packet_t *)malloc (sizeof (lwip_event_packet_t ));
264
+ if (e == NULL ) {
265
+ return ERR_MEM;
266
+ }
261
267
e->event = LWIP_TCP_CONNECTED;
262
268
e->arg = arg;
263
269
e->connected .pcb = pcb;
@@ -271,6 +277,9 @@ static int8_t _tcp_connected(void * arg, tcp_pcb * pcb, int8_t err) {
271
277
static int8_t _tcp_poll (void * arg, struct tcp_pcb * pcb) {
272
278
// ets_printf("+P: 0x%08x\n", pcb);
273
279
lwip_event_packet_t * e = (lwip_event_packet_t *)malloc (sizeof (lwip_event_packet_t ));
280
+ if (e == NULL ) {
281
+ return ERR_MEM;
282
+ }
274
283
e->event = LWIP_TCP_POLL;
275
284
e->arg = arg;
276
285
e->poll .pcb = pcb;
@@ -282,6 +291,9 @@ static int8_t _tcp_poll(void * arg, struct tcp_pcb * pcb) {
282
291
283
292
static int8_t _tcp_recv (void * arg, struct tcp_pcb * pcb, struct pbuf *pb, int8_t err) {
284
293
lwip_event_packet_t * e = (lwip_event_packet_t *)malloc (sizeof (lwip_event_packet_t ));
294
+ if (e == NULL ) {
295
+ return ERR_MEM;
296
+ }
285
297
e->arg = arg;
286
298
if (pb){
287
299
// ets_printf("+R: 0x%08x\n", pcb);
@@ -306,6 +318,9 @@ static int8_t _tcp_recv(void * arg, struct tcp_pcb * pcb, struct pbuf *pb, int8_
306
318
static int8_t _tcp_sent (void * arg, struct tcp_pcb * pcb, uint16_t len) {
307
319
// ets_printf("+S: 0x%08x\n", pcb);
308
320
lwip_event_packet_t * e = (lwip_event_packet_t *)malloc (sizeof (lwip_event_packet_t ));
321
+ if (e == NULL ) {
322
+ return ERR_MEM;
323
+ }
309
324
e->event = LWIP_TCP_SENT;
310
325
e->arg = arg;
311
326
e->sent .pcb = pcb;
@@ -319,6 +334,9 @@ static int8_t _tcp_sent(void * arg, struct tcp_pcb * pcb, uint16_t len) {
319
334
static void _tcp_error (void * arg, int8_t err) {
320
335
// ets_printf("+E: 0x%08x\n", arg);
321
336
lwip_event_packet_t * e = (lwip_event_packet_t *)malloc (sizeof (lwip_event_packet_t ));
337
+ if (e == NULL ) {
338
+ return /* ERR_MEM*/ ;
339
+ }
322
340
e->event = LWIP_TCP_ERROR;
323
341
e->arg = arg;
324
342
e->error .err = err;
@@ -329,6 +347,9 @@ static void _tcp_error(void * arg, int8_t err) {
329
347
330
348
static void _tcp_dns_found (const char * name, struct ip_addr * ipaddr, void * arg) {
331
349
lwip_event_packet_t * e = (lwip_event_packet_t *)malloc (sizeof (lwip_event_packet_t ));
350
+ if (e == NULL ) {
351
+ return /* ERR_MEM*/ ;
352
+ }
332
353
// ets_printf("+DNS: name=%s ipaddr=0x%08x arg=%x\n", name, ipaddr, arg);
333
354
e->event = LWIP_TCP_DNS;
334
355
e->arg = arg;
@@ -346,6 +367,9 @@ static void _tcp_dns_found(const char * name, struct ip_addr * ipaddr, void * ar
346
367
// Used to switch out from LwIP thread
347
368
static int8_t _tcp_accept (void * arg, AsyncClient * client) {
348
369
lwip_event_packet_t * e = (lwip_event_packet_t *)malloc (sizeof (lwip_event_packet_t ));
370
+ if (e == NULL ) {
371
+ return ERR_MEM;
372
+ }
349
373
e->event = LWIP_TCP_ACCEPT;
350
374
e->arg = arg;
351
375
e->accept .client = client;
0 commit comments