Libpq free bug? (Was: [ODBC] IIS Postgres ASP ADO - Problem) - Mailing list pgsql-bugs
From | Dave Page |
---|---|
Subject | Libpq free bug? (Was: [ODBC] IIS Postgres ASP ADO - Problem) |
Date | |
Msg-id | E7F85A1B5FF8D44C8A1AF6885BC9A0E4AC96B5@ratbert.vale-housing.co.uk Whole thread Raw |
Responses |
Re: Libpq free bug? (Was: [ODBC] IIS Postgres ASP ADO - Problem)
Re: Libpq free bug? (Was: [ODBC] IIS Postgres ASP ADO - Problem) |
List | pgsql-bugs |
Forwarded to -bugs in case it gets missed. This looks like it might be an issue to me, though I may well have overlooked something in my brief look at the code. Regards, Dave > -----Original Message----- > From: pgsql-odbc-owner@postgresql.org > [mailto:pgsql-odbc-owner@postgresql.org] On Behalf Of Marko Ristola > Sent: 01 August 2005 18:15 > To: Joel Fradkin > Cc: 'James Dornan'; pgsql-odbc@postgresql.org > Subject: Re: [ODBC] IIS Postgres ASP ADO - Problem > > > I found a crashing problem during CONNECT into a database. > > Here is the problem description: > > Used Environment: > libpq-API under PostgreSQL 8.0.3 > CVS HEAD of psqlodbc > > libpq does have a problem with freeing memory, that has not > been alloced > with malloc()! > > Here is the problem (I don't know, wether the PostgreSQL CVS > HEAD has a > fix for this): > > postgresql-8.0.3/src/interfaces/libpq/fe-connect.c, function > conninfo_parse(): > > /* Make a working copy of PQconninfoOptions */ > options = malloc(sizeof(PQconninfoOptions)); > ... > memcpy(options, PQconninfoOptions, > sizeof(PQconninfoOptions)); > > Unfortunately PQconninfoOptions[] contains only char*val > style pointers > instead of > char val[32] type character containers. > Because of this, the assumption, that memcpy() is enough to copy the > structure, is not > true anymore. You should NOT copy a static structure this way! > > Working code would be something like this: > > options = malloc(sizeof(PQconninfoOptions)); > memcpy(options, PQconninfoOptions, sizeof(PQconninfoOptions)); > for (i=0; PQconninfoOptions[i].val != NULL; i++) { > options[i].val = strdup(PQconninfoOptions[i].val); > ... same for all other values > } > NULL termination. > > > > Because of this, isql fails with me at the beginning, maybe because > dmalloc library, that I use for testing, discovered the problem. > > Marko Ristola > > > Joel Fradkin wrote: > > >James, > > > >The odbc is not working well for me (I can connect but get > intermittent > >issues of the IIS server locking up in regards to connectivity). > >My understanding is the snapshot version is the best odbc > out at this time. > > > >Also can you connect via pgadmin (IE have the hba and config > files set to > >allow external connections)? > > > >My conection is not using dsn, but I did get dsn to work in testing. > >My dsnless string is > > > >Session("StringConn") = > >"DRIVER={PostgreSQL};DATABASE=wazagua;SERVER=192.168.123.121; PORT=5432;UID=p > >ostgres;PWD=;ReadOnly=0;Protocol=6.4;FakeOidIndex=0;ShowOidCo lumn=0;RowVersi > >oning=0;ShowSystemTables=0;ConnSettings=;Fetch=100;Socket=409 6;UnknownSizes= > >0;MaxVarcharSize=254;MaxLongVarcharSize=8190;Debug=0;CommLog= > 0;Optimizer=1;K > >sqo=1;UseDeclareFetch=0;TextAsLongVarchar=1;UnknownsAsLongVar char=0;BoolsAsC > >har=1;Parse=0;CancelAsFreeStmt=0;ExtraSysTablePrefixes=dd_;LF Conversion=1;Up > >datableCursors=1;DisallowPremature=0;TrueIsMinus1=0;BI=0;Byte aAsLongVarBinar > >y=0;UseServerSidePrepare=0" > > > >My test using dsn used > >Session("StringConn") ="DSN=postgresql;" & _ > > "UID=postgres;" & _ > > "PWD=;" & _ > > "Database=wazuni;" > > > >asp code to use connection is : > > dim Arec, Acmd, SQL ,AConn > > set Arec = server.CreateObject("ADODB.Recordset") > > Set AConn = Server.CreateObject("ADODB.CONNECTION") > > set Acmd = server.CreateObject("ADODB.Command") > > AConn.ConnectionTimeOut=30 > > AConn.commandtimeout=30 > > AConn.Open Session("StringConn") > > > >For .net I use the npgsql .net objects. > > > >Hope this helps you. > > > >Joel Fradkin > > > > > > > > > >-----Original Message----- > >From: James Dornan [mailto:james@catch22.com] > >Sent: Sunday, July 31, 2005 4:44 PM > >To: jfradkin@wazagua.com > >Subject: IIS Postgres ASP ADO - Problem > > > > > > I noticed more than a few post from you about trying to > get Postgres > >working with ODBC. > >I'm hoping that maybe you would share some of that information. I am > >running IIS under > >windos 2003 server, and the latest(8.0.3) Postgres server on > the same > >machine. I cannot > >connect no matter what I do. I have tried everything. > > > > The funny part is that I'm not new to ODBC, or windows. > I've worked > >with windows all > >the time, but just can't figure this one out. I've tried using a > >connection string, a DSN, > >reinstalling, IIS, Postgres, ODBC drivers, MDAC, Jet, and so > on. I still > >have the same problem. > >The odbc drive and it's dependant DDLs are in the path. The > permisions > >are wide open > >(for testing this specific problem). > > > > Is there any insight you could shed on the dark world of > windows and > >ODBC, where feed- > >back is rare. > > > > Thanks for any help you can provide. > > > >-- James > > > > > >---------------------------(end of > broadcast)--------------------------- > >TIP 2: Don't 'kill -9' the postmaster > > > > > > > ---------------------------(end of > broadcast)--------------------------- > TIP 2: Don't 'kill -9' the postmaster >
pgsql-bugs by date: