From: | David Rowley <dgrowleyml(at)gmail(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Change pfree to accept NULL argument |
Date: | 2022-08-24 11:07:32 |
Message-ID: | CAApHDvoDmPhGyHrq9Rp0JyBrrS42jjZtw=d0vDJOJQ=982Py+A@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tue, 23 Aug 2022 at 13:17, David Rowley <dgrowleyml(at)gmail(dot)com> wrote:
> I think making pfree() accept NULL is a bad idea.
One counter argument to that is for cases like list_free_deep().
Right now if I'm not mistaken there's a bug (which I just noticed) in
list_free_private() that would trigger if you have a List of Lists and
one of the inner Lists is NIL. The code in list_free_private() just
seems to go off and pfree() whatever is stored in the element, which I
think would crash if it found a NIL List. If pfree() was to handle
NULLs at least that wouldn't have been a crash, but in reality, we
should probably fix that with recursion if we detect the element IsA
List type. If we don't use recursion, then the "free" does not seem
very "deep". (Or maybe it's too late to make it go deeper as it might
break existing code.)
David
From | Date | Subject | |
---|---|---|---|
Next Message | Richard Guo | 2022-08-24 11:12:34 | Re: Stack overflow issue |
Previous Message | mahendrakar s | 2022-08-24 10:59:07 | Re: Stack overflow issue |