> -----Original Message-----
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] On Behalf Of P3 
> Consulting
> Sent: 08 January 2005 10:28
> To: pgadmin-hackers
> Subject: [pgadmin-hackers] BUG: pgIndex.cpp
> 
>             switch (indexes->GetVal(wxT("contype"))[0U])
>              {
>                  case 0:
>                      index = new pgIndex(collection->GetSchema(),
indexes->GetVal(wxT("idxname")));
>                      break;
>                  case 'p':
>                      index = new pgPrimaryKey(collection->GetSchema(),
indexes->GetVal(wxT("idxname")));
>                      break;
>                  case 'u':
>                      index = new pgUnique(collection->GetSchema(),
indexes->GetVal(wxT("idxname")));
>                      break;
>                  default:
>                      index=0;
>                      break;
>              }
>              index->iSetOid(indexes->GetOid(wxT("oid")));
> 
> in case of the default branch taken, this code will SIGSEGV

Hi Andreas,

Did you get a chance to look at this? It seems to me that the quick and
dirty solution is to wrap the index->iSetxxx calls in an 'if (index)',
however I'm not entirely convinced that is safe given that it's possible
to return a null index pointer to the caller (which without significant
trawling through code I may not find all instances of).

Regards, Dave.

---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

Reply via email to