Check for NULL pointers. CID 1589 and 1590.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38107 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Stefano Ceccherini 2010-08-15 09:42:53 +00:00
parent 756ea297c2
commit 0f72bf29fe

View File

@ -154,30 +154,28 @@ AutoConfigWindow::QuitRequested(void)
Account* Account*
AutoConfigWindow::GenerateBasicAccount() AutoConfigWindow::GenerateBasicAccount()
{ {
if(!fAccount){ if(!fAccount) {
fAccount = Accounts::NewAccount(); fAccount = Accounts::NewAccount();
fAccount->SetType(fAccountInfo.type); fAccount->SetType(fAccountInfo.type);
fAccount->SetName(fAccountInfo.accountName.String()); fAccount->SetName(fAccountInfo.accountName.String());
fAccount->SetRealName(fAccountInfo.name.String()); fAccount->SetRealName(fAccountInfo.name.String());
fAccount->SetReturnAddress(fAccountInfo.email.String()); fAccount->SetReturnAddress(fAccountInfo.email.String());
BMailChain *inbound = fAccount->Inbound();
BString inServerName; BString inServerName;
int32 authType = 0; int32 authType = 0;
int32 ssl = 0; int32 ssl = 0;
if (fAccountInfo.inboundType == IMAP) { if (fAccountInfo.inboundType == IMAP) {
inServerName = fAccountInfo.providerInfo.imap_server; inServerName = fAccountInfo.providerInfo.imap_server;
ssl = fAccountInfo.providerInfo.ssl_imap; ssl = fAccountInfo.providerInfo.ssl_imap;
} } else {
else {
inServerName = fAccountInfo.providerInfo.pop_server; inServerName = fAccountInfo.providerInfo.pop_server;
authType = fAccountInfo.providerInfo.authentification_pop; authType = fAccountInfo.providerInfo.authentification_pop;
ssl = fAccountInfo.providerInfo.ssl_pop; ssl = fAccountInfo.providerInfo.ssl_pop;
} }
if (fAccountInfo.type == INBOUND_TYPE if (fAccountInfo.type == INBOUND_TYPE
|| fAccountInfo.type == IN_AND_OUTBOUND_TYPE) || fAccountInfo.type == IN_AND_OUTBOUND_TYPE) {
{ BMailChain *inbound = fAccount->Inbound();
if (inbound != NULL) {
BMessage inboundArchive; BMessage inboundArchive;
inboundArchive.AddString("server", inServerName); inboundArchive.AddString("server", inServerName);
inboundArchive.AddInt32("auth_method", authType); inboundArchive.AddInt32("auth_method", authType);
@ -188,11 +186,12 @@ AutoConfigWindow::GenerateBasicAccount()
inboundArchive.AddBool("delete_remote_when_local", true); inboundArchive.AddBool("delete_remote_when_local", true);
inbound->SetFilter(0, inboundArchive, fAccountInfo.inboundProtocol); inbound->SetFilter(0, inboundArchive, fAccountInfo.inboundProtocol);
} }
}
if (fAccountInfo.type == OUTBOUND_TYPE if (fAccountInfo.type == OUTBOUND_TYPE
|| fAccountInfo.type == IN_AND_OUTBOUND_TYPE) || fAccountInfo.type == IN_AND_OUTBOUND_TYPE) {
{
BMailChain *outbound = fAccount->Outbound(); BMailChain *outbound = fAccount->Outbound();
if (outbound != NULL) {
BMessage outboundArchive; BMessage outboundArchive;
outboundArchive.AddString("server", outboundArchive.AddString("server",
fAccountInfo.providerInfo.smtp_server); fAccountInfo.providerInfo.smtp_server);
@ -205,5 +204,6 @@ AutoConfigWindow::GenerateBasicAccount()
fAccountInfo.outboundProtocol); fAccountInfo.outboundProtocol);
} }
} }
}
return fAccount; return fAccount;
} }