Browse Source

sctp: add a checking for sctp_sysctl_net_register

When register_net_sysctl failed, we should free the
sysctl_table.

Signed-off-by: Wang Weidong <wangweidong1@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
wangweidong 11 years ago
parent
commit
f66138c847
1 changed files with 4 additions and 0 deletions
  1. 4 0
      net/sctp/sysctl.c

+ 4 - 0
net/sctp/sysctl.c

@@ -447,6 +447,10 @@ int sctp_sysctl_net_register(struct net *net)
 		table[i].data += (char *)(&net->sctp) - (char *)&init_net.sctp;
 		table[i].data += (char *)(&net->sctp) - (char *)&init_net.sctp;
 
 
 	net->sctp.sysctl_header = register_net_sysctl(net, "net/sctp", table);
 	net->sctp.sysctl_header = register_net_sysctl(net, "net/sctp", table);
+	if (net->sctp.sysctl_header == NULL) {
+		kfree(table);
+		return -ENOMEM;
+	}
 	return 0;
 	return 0;
 }
 }