ret = provider->initFromExistingContext(this,
manager->m_providers[i]);
- if (ret == false)
+ if (ret == false) {
+ delete provider;
+ m_providers[i] = NULL;
break;
+ }
}
return ret;
continue;
ret = provider->initFromGssContext(this, cred, ctx);
- if (ret == false)
+ if (ret == false) {
+ delete provider;
+ m_providers[i] = NULL;
break;
+ }
}
return ret;
ret = provider->initFromGssContext(this,
GSS_C_NO_CREDENTIAL,
GSS_C_NO_CONTEXT);
- if (ret == false)
+ if (ret == false) {
+ delete provider;
+ m_providers[i] = NULL;
break;
+ }
}
return ret;