X-Git-Url: http://git.cascardo.info/?a=blobdiff_plain;f=kernel%2Fseccomp.c;h=b35c21503a36d6e63160f7f46a2eb7bf59d371ce;hb=589e18a973bd6bb8abd2c6d4d8a1dcf5ae1dff61;hp=590c37925084d08e046e6f51de58a4845b7d5f72;hpb=af5666e0f76023d9c296016024297903a4c83108;p=cascardo%2Flinux.git diff --git a/kernel/seccomp.c b/kernel/seccomp.c index 590c37925084..b35c21503a36 100644 --- a/kernel/seccomp.c +++ b/kernel/seccomp.c @@ -255,6 +255,7 @@ static long seccomp_attach_filter(struct sock_fprog *fprog) goto free_prog; /* Allocate a new seccomp_filter */ + ret = -ENOMEM; filter = kzalloc(sizeof(struct seccomp_filter) + sizeof(struct sock_filter_int) * new_len, GFP_KERNEL|__GFP_NOWARN); @@ -264,6 +265,7 @@ static long seccomp_attach_filter(struct sock_fprog *fprog) ret = sk_convert_filter(fp, fprog->len, filter->insnsi, &new_len); if (ret) goto free_filter; + kfree(fp); atomic_set(&filter->usage, 1); filter->len = new_len;