[Top][All Lists]

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

[lwip-users] Initialization of global variables

From: Piotr Piwko
Subject: [lwip-users] Initialization of global variables
Date: Fri, 5 Nov 2010 19:36:12 +0100


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

reply via email to

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