X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=net%2Ftipc%2Fzone.c;h=2803e1b4f17065d2e4988684a527da23221eba98;hb=9464c7cf61b9433057924c36e6e02f303a00e768;hp=f5b00ea2d5acb2cb77d46d7ec3c2265fe3c16700;hpb=41689045f6a3cbe0550e1d34e9cc20d2e8c432ba;p=linux-2.6.git diff --git a/net/tipc/zone.c b/net/tipc/zone.c index f5b00ea2d..2803e1b4f 100644 --- a/net/tipc/zone.c +++ b/net/tipc/zone.c @@ -44,23 +44,19 @@ struct _zone *tipc_zone_create(u32 addr) { - struct _zone *z_ptr; + struct _zone *z_ptr = NULL; u32 z_num; - if (!tipc_addr_domain_valid(addr)) { - err("Zone creation failed, invalid domain 0x%x\n", addr); + if (!tipc_addr_domain_valid(addr)) return NULL; - } - z_ptr = kzalloc(sizeof(*z_ptr), GFP_ATOMIC); - if (!z_ptr) { - warn("Zone creation failed, insufficient memory\n"); - return NULL; + z_ptr = (struct _zone *)kmalloc(sizeof(*z_ptr), GFP_ATOMIC); + if (z_ptr != NULL) { + memset(z_ptr, 0, sizeof(*z_ptr)); + z_num = tipc_zone(addr); + z_ptr->addr = tipc_addr(z_num, 0, 0); + tipc_net.zones[z_num] = z_ptr; } - - z_num = tipc_zone(addr); - z_ptr->addr = tipc_addr(z_num, 0, 0); - tipc_net.zones[z_num] = z_ptr; return z_ptr; }