On Tue, Jan 04, 2011 at 10:28:56AM +0100, Stefan Götz wrote: > > Could you or someone else from the hipl-core team commit the attached patch > > to > > trunk? It contains exactly that cleanup. > > Wait, I just noticed that even more zeroing and assignments can be avoided in > that code. Here's another version of the patch. > > --- firewall/conntrack.c 2010-12-28 16:19:46 +0000 > +++ firewall/conntrack.c 2011-01-04 09:26:42 +0000 > @@ -444,34 +444,26 @@ > > //original direction tuple > - connection->original.hip_tuple = malloc(sizeof(struct > hip_tuple)); > - memset(connection->original.hip_tuple, 0, sizeof(struct hip_tuple)); > - connection->original.hip_tuple->tuple = &connection->original; > - connection->original.hip_tuple->data = malloc(sizeof(struct > hip_data)); > - memset(connection->original.hip_tuple->data, 0, sizeof(struct hip_data)); > - memcpy(&connection->original.hip_tuple->data->src_hit, &data->src_hit, > sizeof(struct in6_addr)); > - memcpy(&connection->original.hip_tuple->data->dst_hit, &data->dst_hit, > sizeof(struct in6_addr)); > - connection->original.hip_tuple->data->src_hi = NULL; > - connection->original.hip_tuple->data->verify = NULL; > + connection->original.hip_tuple = malloc(sizeof(struct > hip_tuple)); > + connection->original.hip_tuple->tuple = &connection->original; > + connection->original.hip_tuple->data = calloc(1, sizeof(struct > hip_data)); > + connection->original.hip_tuple->data->src_hit = data->src_hit; > + connection->original.hip_tuple->data->dst_hit = data->dst_hit; AFAICT connection->original.hip_tuple is no longer zeroed. What am I missing? Diego