Re: PQescapeBytea on Win32 - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: PQescapeBytea on Win32
Date
Msg-id 200303180548.h2I5m7e09803@candle.pha.pa.us
Whole thread Raw
In response to Re: PQescapeBytea on Win32  ("Key88 SF" <key88sf@hotmail.com>)
List pgsql-hackers
All apps need the multi-threaded option, I think.

---------------------------------------------------------------------------

Key88 SF wrote:
> 
> Actually this isn't even working for me. I just compiled the libpq dll with 
> /MT (multithreaded), and I still get corruption in my app. I even tried 
> libpq compiled with multithreaded-debug (/MTd), which my app is using now, 
> and still same problem.  I think a separate function would be great to have.
> 
> 
> >From: "Key88 SF" <key88sf@hotmail.com>
> >To: pgman@candle.pha.pa.us
> >CC: pgsql-hackers@postgresql.org
> >Subject: Re: [HACKERS] PQescapeBytea on Win32
> >Date: Tue, 18 Mar 2003 05:07:29 +0000
> >MIME-Version: 1.0
> >X-Originating-IP: [67.118.28.93]
> >Received: from relay1.pgsql.com ([64.49.215.129]) by 
> >mc5-f2.law1.hotmail.com with Microsoft SMTPSVC(5.0.2195.5600); Mon, 17 Mar 
> >2003 21:07:40 -0800
> >Received: from postgresql.org (postgresql.org [64.49.215.8])by 
> >relay1.pgsql.com (Postfix) with ESMTPid DB3426F73A1; Tue, 18 Mar 2003 
> >00:07:38 -0500 (EST)
> >Received: from hotmail.com (f127.law9.hotmail.com [64.4.9.127])by 
> >postgresql.org (Postfix) with ESMTP id 0247A474E4Ffor 
> ><pgsql-hackers@postgresql.org>; Tue, 18 Mar 2003 00:07:25 -0500 (EST)
> >Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC; 
> >Mon, 17 Mar 2003 21:07:30 -0800
> >Received: from 67.118.28.93 by lw9fd.law9.hotmail.msn.com with HTTP;Tue, 18 
> >Mar 2003 05:07:29 GMT
> >X-Message-Info: JGTYoYF78jEHjJx36Oi8+Q1OJDRSDidP
> >X-Original-To: pgsql-hackers@postgresql.org
> >Message-ID: <F127CGlbZvFqV2mEIkL00001ff2@hotmail.com>
> >X-OriginalArrivalTime: 18 Mar 2003 05:07:30.0217 (UTC) 
> >FILETIME=[46BFF190:01C2ED0C]
> >Precedence: bulk
> >Sender: pgsql-hackers-owner@postgresql.org
> >Return-Path: pgsql-hackers-owner+M36954@postgresql.org
> >
> >I suppose that is ok. But the default compiler flags in the provided 
> >makefile for libpq is non-multithreaded. That should at least be fixed I 
> >would think.
> >
> >If it's not a big deal for you, I would say that in the name of safety for 
> >those people who don't look closely at these things, it would be better to 
> >have the callback function to delete the memory and not have to assume 
> >libpq is built with the correct c-runtimes...
> >
> >-Dave
> >
> >
> >
> >
> >>From: Bruce Momjian <pgman@candle.pha.pa.us>
> >>To: Key88 SF <key88sf@hotmail.com>
> >>CC: pgsql-hackers@postgresql.org
> >>Subject: Re: [HACKERS] PQescapeBytea on Win32
> >>Date: Tue, 18 Mar 2003 00:01:38 -0500 (EST)
> >>MIME-Version: 1.0
> >>Received: from candle.pha.pa.us ([207.106.42.251]) by 
> >>mc6-f24.law1.hotmail.com with Microsoft SMTPSVC(5.0.2195.5600); Mon, 17 
> >>Mar 2003 21:01:44 -0800
> >>Received: (from pgman@localhost)by candle.pha.pa.us (8.11.6/8.10.1) id 
> >>h2I51cW03568;Tue, 18 Mar 2003 00:01:38 -0500 (EST)
> >>X-Message-Info: JGTYoYF78jEHjJx36Oi8+Q1OJDRSDidP
> >>Message-Id: <200303180501.h2I51cW03568@candle.pha.pa.us>
> >>In-Reply-To: <F159qHSgNZuILS94O9J00042a23@hotmail.com>
> >>X-Mailer: ELM [version 2.4ME+ PL99 (25)]
> >>Return-Path: pgman@candle.pha.pa.us
> >>X-OriginalArrivalTime: 18 Mar 2003 05:01:44.0926 (UTC) 
> >>FILETIME=[78F0B7E0:01C2ED0B]
> >>
> >>
> >>Yes, I am aware of that limitation.  If you link libpq as a
> >>Multithreaded DLL, it will not link libc into each DLL, but have only
> >>one libc that can free from anywhere.
> >>
> >>Is that acceptable or do we need a Win32 specific memory free function?
> >>
> >>---------------------------------------------------------------------------
> >>
> >>Key88 SF wrote:
> >> >
> >> > Hi - there is a problem with PQescapeBytea for Win32. Since libpq is a 
> >>DLL,
> >> > all memory allocated from within the DLL needs to be freed from within 
> >>the
> >> > dll.
> >> >
> >> > PQescapeBytea allocates memory, but there is no function call back into 
> >>the
> >> > DLL to free this memory. This causes heap corruption when the main 
> >>program
> >> > tries to free the memory itself. The alternative is to just leak the 
> >>memory
> >> > and never free it. Also bad....
> >> >
> >> > -Dave Brown
> >> > key88sf@hotmail.com
> >> >
> >> >
> >> > _________________________________________________________________
> >> > Add photos to your messages with MSN 8. Get 2 months FREE*.
> >> > http://join.msn.com/?page=features/featuredemail
> >> >
> >> >
> >> > ---------------------------(end of 
> >>broadcast)---------------------------
> >> > TIP 3: if posting/reading through Usenet, please send an appropriate
> >> > subscribe-nomail command to majordomo@postgresql.org so that your
> >> > message can get through to the mailing list cleanly
> >> >
> >>
> >>--
> >>   Bruce Momjian                        |  http://candle.pha.pa.us
> >>   pgman@candle.pha.pa.us               |  (610) 359-1001
> >>   +  If your life is a hard drive,     |  13 Roberts Road
> >>   +  Christ can be your backup.        |  Newtown Square, Pennsylvania 
> >>19073
> >
> >
> >_________________________________________________________________
> >Add photos to your e-mail with MSN 8. Get 2 months FREE*.  
> >http://join.msn.com/?page=features/featuredemail
> >
> >
> >---------------------------(end of broadcast)---------------------------
> >TIP 2: you can get off all lists at once with the unregister command
> >    (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
> 
> 
> _________________________________________________________________
> Protect your PC - get McAfee.com VirusScan Online  
> http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963
> 
> 

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
359-1001+  If your life is a hard drive,     |  13 Roberts Road +  Christ can be your backup.        |  Newtown Square,
Pennsylvania19073
 


pgsql-hackers by date:

Previous
From: Joe Conway
Date:
Subject: Re: PQescapeBytea on Win32
Next
From: Bruce Momjian
Date:
Subject: Re: cursors outside transactions