diff options
Diffstat (limited to 'net')
-rw-r--r-- | net/sunrpc/svcauth_unix.c | 16 |
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) |