Messages in this thread | | | Date | Mon, 21 Jul 2008 09:28:57 +0100 | From | Al Viro <> | Subject | Re: [PATCH] vfs: use kstrdup() |
| |
On Mon, Jul 21, 2008 at 12:04:27PM +0400, Cyrill Gorcunov wrote: > err = mnt_alloc_id(mnt); > - if (err) { > - kmem_cache_free(mnt_cache, mnt); > - return NULL; > + if (err) > + goto err;
Ugh... Labels are in a separate namespace, but really...
> + if (name) { > + mnt->mnt_devname = kstrdup(name, GFP_KERNEL); > + if (!mnt->mnt_devname) > + goto err;
> +err: > + kmem_cache_free(mnt_cache, mnt); > + return NULL;
Leak; note the mnt_alloc_id() above. Either do that kstrdup() first and kfree the result on mnt_alloc_id() failure or do mnt_free_id() on kstrdup() one...
| |