[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [lwip-users] Initialization of global variables

From: Rick Solotke
Subject: RE: [lwip-users] Initialization of global variables
Date: Fri, 5 Nov 2010 11:42:19 -0700

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


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


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!


Piotr Piwko

lwip-users mailing list

reply via email to

[Prev in Thread] Current Thread [Next in Thread]