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
