Hello!
There is trivial memleak on error exit path in nfsd.
See the patch below.
Found with help of smatch + enhanced unfree script.
Bye,
Oleg
===== fs/nfsd/export.c 1.71 vs edited =====
--- 1.71/fs/nfsd/export.c Tue Feb 25 13:08:50 2003
+++ edited/fs/nfsd/export.c Tue Mar 11 17:55:18 2003
@@ -294,7 +294,10 @@
/* client */
len = qword_get(&mesg, buf, PAGE_SIZE);
- if (len <= 0) return -EINVAL;
+ if (len <= 0) {
+ err = -EINVAL;
+ goto out;
+ }
err = -ENOENT;
dom = auth_domain_find(buf);
if (!dom)
On Tuesday March 11, [email protected] wrote:
> Hello!
>
> There is trivial memleak on error exit path in nfsd.
> See the patch below.
> Found with help of smatch + enhanced unfree script.
Thanks to all threee of you?
However in keeping with the style of surrounding code I will make it:
===== fs/nfsd/export.c 1.71 vs edited =====
--- 1.71/fs/nfsd/export.c Tue Feb 25 13:08:50 2003
+++ edited/fs/nfsd/export.c Tue Mar 11 17:55:18 2003
@@ -294,7 +294,10 @@
/* client */
len = qword_get(&mesg, buf, PAGE_SIZE);
- if (len <= 0) return -EINVAL;
+ err = -EINVAL;
+ if (len <= 0)
+ goto out;
+
err = -ENOENT;
dom = auth_domain_find(buf);
if (!dom)
NeilBrown