nfsd: potential ERR_PTR dereference on exp_export() error paths.
authorDan Carpenter <error27@gmail.com>
Thu, 22 Apr 2010 09:30:59 +0000 (11:30 +0200)
committerJ. Bruce Fields <bfields@citi.umich.edu>
Thu, 22 Apr 2010 16:03:02 +0000 (12:03 -0400)
We "goto finish" from several places where "exp" is an ERR_PTR.  Also I
changed the check for "fsid_key" so that it was consistent with the check
I added.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
fs/nfsd/export.c

index 65ddc5b..55da4d3 100644 (file)
@@ -1076,9 +1076,9 @@ exp_export(struct nfsctl_export *nxp)
                err = 0;
 finish:
        kfree(new.ex_pathname);
-       if (exp)
+       if (!IS_ERR_OR_NULL(exp))
                exp_put(exp);
-       if (fsid_key && !IS_ERR(fsid_key))
+       if (!IS_ERR_OR_NULL(fsid_key))
                cache_put(&fsid_key->h, &svc_expkey_cache);
        path_put(&path);
 out_put_clp: