aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/sunrpc/svcauth_unix.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/net/sunrpc/svcauth_unix.c b/net/sunrpc/svcauth_unix.c
index 11020c0b7db5..7e5707e2d6b6 100644
--- a/net/sunrpc/svcauth_unix.c
+++ b/net/sunrpc/svcauth_unix.c
@@ -36,16 +36,16 @@ struct auth_domain *unix_domain_find(char *name)
36 36
37 rv = auth_domain_lookup(name, NULL); 37 rv = auth_domain_lookup(name, NULL);
38 while(1) { 38 while(1) {
39 if (rv != &new->h) { 39 if (rv) {
40 if (new) auth_domain_put(&new->h); 40 if (new && rv != &new->h)
41 auth_domain_put(&new->h);
42
43 if (rv->flavour != &svcauth_unix) {
44 auth_domain_put(rv);
45 return NULL;
46 }
41 return rv; 47 return rv;
42 } 48 }
43 if (rv && rv->flavour != &svcauth_unix) {
44 auth_domain_put(rv);
45 return NULL;
46 }
47 if (rv)
48 return rv;
49 49
50 new = kmalloc(sizeof(*new), GFP_KERNEL); 50 new = kmalloc(sizeof(*new), GFP_KERNEL);
51 if (new == NULL) 51 if (new == NULL)