While browsing the code, "pg_dump.c" the following block *appears* to
be problematic. Additionally, there *appears* to be a malloc without a
free (return or assignment) in the function "getBlobs(Archive *AH)"
(pg_dump.c lines 2169 thru 2188 v9.1.4).

/*
 * Each large object has its own BLOB archive entry.
 */
binfo = (BlobInfo *) malloc(ntups * sizeof(BlobInfo));

for (i = 0; i < ntups; i++)
{
        binfo[i].dobj.objType = DO_BLOB;
        binfo[i].dobj.catId.tableoid = LargeObjectRelationId;
        binfo[i].dobj.catId.oid = atooid(PQgetvalue(res, i, 0));
        AssignDumpId(&binfo[i].dobj);

        binfo[i].dobj.name = strdup(PQgetvalue(res, i, 0));
        if (!PQgetisnull(res, i, 1))
                binfo[i].rolname = strdup(PQgetvalue(res, i, 1));
        else
                binfo[i].rolname = "";
        if (!PQgetisnull(res, i, 2))
                binfo[i].blobacl = strdup(PQgetvalue(res, i, 2));
        else
                binfo[i].blobacl = NULL;
}


-- 
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Reply via email to