| From: | Daniele Varrazzo <daniele(dot)varrazzo(at)gmail(dot)com> |
|---|---|
| To: | Federico Di Gregorio <federico(dot)digregorio(at)dndg(dot)it> |
| Cc: | psycopg(at)postgresql(dot)org |
| Subject: | Re: NULL dereference when memory is tight |
| Date: | 2011-02-24 10:32:23 |
| Message-ID: | AANLkTinHAFSY2pjoQBeYneEnc5gm4w240qyQxVYgk=eb@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | psycopg |
On Thu, Feb 24, 2011 at 9:52 AM, Federico Di Gregorio
<federico(dot)digregorio(at)dndg(dot)it> wrote:
> On 24/02/11 10:39, Brian Sutherland wrote:
>> Attached is a patch for another issue, though I'm not sure if calling
>> PyErr_NoMemory within libpq is sane.
>
> I won't call any Py* function without holding the GIL. That's why
> conn_notice_callback() uses its own data structure instead of a simple
> Python list.
I've fixed the potential access to uninitialized memory by simply
discarding the notice in case allocation fails. We could additionally
print the notice on stderr but I think the process is doomed anyway if
it just failed to allocate a struct of two pointers.
Brian, if you want to keep on playing with INFER, you should probably
pull the outstanding patches from my devel branch
<https://github.com/dvarrazzo/psycopg/> as in the last days I've
cleaned up several allocation glitches throughout all the library.
Thank you, cheers!
-- Danele
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Federico Di Gregorio | 2011-02-24 10:39:31 | Re: NULL dereference when memory is tight |
| Previous Message | Federico Di Gregorio | 2011-02-24 09:52:52 | Re: NULL dereference when memory is tight |