Hi all,
I was just looking through libpq large object code an noticed what seemed
to be a bug. The function lo_create() is declared as Oid yet it contains
the following code:
if (conn->lobjfuncs == (PGlobjfuncs *) NULL)
{
if (lo_initialize(conn) < 0)
return -1;
}
If lo_initialize returns < 0, you have some pretty serious problems - out
of memory, conn is invalid, etc. However, casting -1 to Oid returns what
seems to be a valid Oid. Shouldn't it return InvalidOid?
Gavin