> -----Original Message-----
> From: pgadmin-hackers-owner@postgresql.org
> [mailto:pgadmin-hackers-owner@postgresql.org] 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.