X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=net%2Fipv6%2Fcalipso.c;h=37ac9de713c69af30ae50d03e53ee472a7520b98;hb=09cb5b78af52208afb9f1b194c8a9154df4a4782;hp=c53b92c617c545c041d50a4e458e0533d93a59df;hpb=755b20f49220683bc2469f4d956dee39101440aa;p=linux-2.6-block.git diff --git a/net/ipv6/calipso.c b/net/ipv6/calipso.c index c53b92c617c5..37ac9de713c6 100644 --- a/net/ipv6/calipso.c +++ b/net/ipv6/calipso.c @@ -952,8 +952,10 @@ calipso_opt_insert(struct ipv6_opt_hdr *hop, memcpy(new, hop, start); ret_val = calipso_genopt((unsigned char *)new, start, buf_len, doi_def, secattr); - if (ret_val < 0) + if (ret_val < 0) { + kfree(new); return ERR_PTR(ret_val); + } buf_len = start + ret_val; /* At this point buf_len aligns to 4n, so (buf_len & 4) pads to 8n */