|
@@ -769,11 +769,12 @@ svcauth_gss_register_pseudoflavor(u32 pseudoflavor, char * name)
|
|
new->h.flavour = &svcauthops_gss;
|
|
new->h.flavour = &svcauthops_gss;
|
|
new->pseudoflavor = pseudoflavor;
|
|
new->pseudoflavor = pseudoflavor;
|
|
|
|
|
|
|
|
+ stat = 0;
|
|
test = auth_domain_lookup(name, &new->h);
|
|
test = auth_domain_lookup(name, &new->h);
|
|
- if (test != &new->h) { /* XXX Duplicate registration? */
|
|
|
|
- auth_domain_put(&new->h);
|
|
|
|
- /* dangling ref-count... */
|
|
|
|
- goto out;
|
|
|
|
|
|
+ if (test != &new->h) { /* Duplicate registration */
|
|
|
|
+ auth_domain_put(test);
|
|
|
|
+ kfree(new->h.name);
|
|
|
|
+ goto out_free_dom;
|
|
}
|
|
}
|
|
return 0;
|
|
return 0;
|
|
|
|
|