Hi all,

I just wanted to pop in and say that I have observed and debugged the
same problem, specifically for the UDP and TCP PCB lists.  It would be
great if the code could be changed to explicitly initialize these to
NULL.

Cheers,
Rick

-----Original Message-----
From: [email protected]
[mailto:[email protected]] On
Behalf Of Piotr Piwko
Sent: Friday, November 05, 2010 11:36 AM
To: [email protected]
Subject: [lwip-users] Initialization of global variables

Hello,

I currently implement the LwIP stack under u-boot environment and I
have one notice regarding global variables initialization. I think
that every global variable which are not static should be initialized
by NULL or 0 value. I mean for example:

file tcp.c:
struct tcp_pcb *tcp_bound_pcbs;
union tcp_listen_pcbs_t tcp_listen_pcbs;
struct tcp_pcb *tcp_active_pcbs;
struct tcp_pcb *tcp_tw_pcbs;

file udp.c:
struct udp_pcb *udp_pcbs;

file netif.c:
struct netif *netif_list;
struct netif *netif_default;

If I leave they uninitialized, after compilation and link operation
they will contain random values which causes the system crash during
LwIP initialized functions. Assumption that they will be automatically
filled by 0 is wrong and non-portable.

This modification can really save a lot of time during integration :)

Anyway I am impressed with LwIP project. It is very useful part of
software. Good job guys!

Regards,

-- 
Piotr Piwko
http://www.embedded-engineering.pl/

_______________________________________________
lwip-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/lwip-users


_______________________________________________
lwip-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to