Re: Report a potential bug caused by a improper call to pfree()

Поиск
Список
Период
Сортировка
От Kyotaro Horiguchi
Тема Re: Report a potential bug caused by a improper call to pfree()
Дата
Msg-id 20220131.114144.1534169725851050672.horikyota.ntt@gmail.com
обсуждение исходный текст
Ответ на Re: Report a potential bug caused by a improper call to pfree()  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-bugs
At Sun, 30 Jan 2022 10:29:27 -0500, Tom Lane <tgl@sss.pgh.pa.us> wrote in 
> Julien Rouhaud <rjuju123@gmail.com> writes:
> > On Sun, Jan 30, 2022 at 10:47:18AM +0800, wliang@stu.xidian.edu.cn wrote:
> >> 1160                 /* Pop the stack */
> >> 1161                 parent = stack->parent;
> >> 1162                 pfree(stack);
> >> 
> >> I think it may be a potential bug and can be fixed without any side-effect as:
> >> 
> >> 
> >> ++        if (stack != &tail)
> >> 1162                pfree(stack);
> 
> > I don't think it's necessary, it should be guaranteed that something as been
> > pushed on the tail, ie. there shouldn't be a WJB_END_* before a corresponding
> > begin.
> 
> I've not checked the logic, but the lack of any reported crashes here
> seems to confirm that there's no bug.

As a cross-check, I agree to Julien. The parser starts reading from
OBJECT_START or ARRAY_START (or bare scalar) so if we had the stack
empty there, we *should properly crash* instead of pretending that a
problem were not exitsting at all.

regards.

-- 
Kyotaro Horiguchi
NTT Open Source Software Center



В списке pgsql-bugs по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Missing include in float.h
Следующее
От: PG Bug reporting form
Дата:
Сообщение: BUG #17388: postgis cant be installed on postgres 11 and centos 7