The following bug has been logged online:

Bug reference:      6234
Logged by:          Vikas Mehta
Email address:      me...@roguewave.com
PostgreSQL version: 8.4.8
Operating system:   Windows
Description:        Memory leak from PQexec
Details: 

Purify shows 448 bytes of memory leaks with PQexec:

[W] Summary of all memory leaks... {448 bytes, 11 blocks}
    [W] MLK: Memory leak of 128 bytes from 1 block allocated in
ERR_load_SSL_strings [SSLEAY32.DLL]
    [W] MLK: Memory leak of 128 bytes from 1 block allocated in
PQrequestCancel [LIBPQ.DLL]
    [W] MLK: Memory leak of 128 bytes from 1 block allocated in
ENGINE_load_ubsec [LIBEAY32.DLL]
    [W] MLK: Memory leak of 64 bytes from 8 blocks allocated in
add_error_table [COMERR32.DLL]


Test case:
==========

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#include <libpq-fe.h>



void createTestTable(PGconn* dbc)
{
    PGresult *res;

    printf("\n\nCreating Test Table.....\n");

    res = PQexec(dbc, "create table mytable (col1 int)");
    if (PQresultStatus(res) == PGRES_NONFATAL_ERROR || PQresultStatus(res)
== PGRES_FATAL_ERROR) {
        printf("!!!!! Failed to create test table.\n");
    }
    PQclear(res);
}


void dropTestTable(PGconn* dbc)
{
    PGresult *res;

    printf("\n\nDropping Test Table.....\n");

    res = PQexec(dbc, "drop table mytable");
    if (PQresultStatus(res) == PGRES_NONFATAL_ERROR || PQresultStatus(res)
== PGRES_FATAL_ERROR) {
        printf("!!!!! Failed to drop test table.\n");
    }
    PQclear(res);
}

int main()
{
    PGconn *dbc;
    
    dbc = PQconnectdb("host = magma.cvo.roguewave.com user = username
password = pwd dbname = db");

    if(dbc == 0 || PQstatus(dbc) == CONNECTION_BAD) {
        printf("!!!!! Failed to establish connection.\n");
    }
    
    createTestTable(dbc);
        
    dropTestTable(dbc);
    
    PQfinish(dbc);

    return 0;
}

-- 
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