diff mbox

[net-next,6/6] tipc: separate the check nseq and sseq allocate failed

Message ID 1386311022-11176-7-git-send-email-wangweidong1@huawei.com
State Changes Requested, archived
Delegated to: David Miller
Headers show

Commit Message

wangweidong Dec. 6, 2013, 6:23 a.m. UTC
if nseq allocate failed, sseq is no need to alloc. so separate the
check.

Signed-off-by: Wang Weidong <wangweidong1@huawei.com>
---
 net/tipc/name_table.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)
diff mbox

Patch

diff --git a/net/tipc/name_table.c b/net/tipc/name_table.c
index 92a1533..b91387c 100644
--- a/net/tipc/name_table.c
+++ b/net/tipc/name_table.c
@@ -159,12 +159,17 @@  static struct sub_seq *tipc_subseq_alloc(u32 cnt)
 static struct name_seq *tipc_nameseq_create(u32 type, struct hlist_head *seq_head)
 {
 	struct name_seq *nseq = kzalloc(sizeof(*nseq), GFP_ATOMIC);
-	struct sub_seq *sseq = tipc_subseq_alloc(1);
+	struct sub_seq *sseq;
 
-	if (!nseq || !sseq) {
+	if (!nseq) {
 		pr_warn("Name sequence creation failed, no memory\n");
+		return NULL;
+	}
+
+	sseq = tipc_subseq_alloc(1);
+	if (!sseq) {
+		pr_warn("Sub sequence creation failed, no memory\n");
 		kfree(nseq);
-		kfree(sseq);
 		return NULL;
 	}