Re: Possible pointer dereference
От | Haribabu Kommi |
---|---|
Тема | Re: Possible pointer dereference |
Дата | |
Msg-id | CAJrrPGdBnQdEUDGR+60D8h9thUD5DmhrrKUdVoU8ns+YM7iGiw@mail.gmail.com обсуждение исходный текст |
Ответ на | Possible pointer dereference (Gaetano Mendola <mendola@gmail.com>) |
Ответы |
Re: Possible pointer dereference
|
Список | pgsql-hackers |
On Thu, May 28, 2015 at 6:07 AM, Gaetano Mendola <mendola@gmail.com> wrote: > I'm playing with a static analyzer and it's giving out some real error > analyzing postgresql code base like the following one > > src/backend/access/transam/commit_ts.c > return *ts != 0 // line 321 > but a few line up (line 315) ts is checked for null, so either is not needed > to check for null or *ts can lead to a null pointer dereference. Same > happens a few line later lines 333 and 339 Thanks for providing detailed information. The function "TransactionIdGetCommitTsData" is currently used only at one place. The caller always passes an valid pointer to this function. So there shouldn't be a problem. But in future if the same function is used at somewhere by passing the NULL pointer then it leads to a crash. By correcting the following way will solve the problem. return ts ? (*ts != 0) : false; instead of retun *ts != 0; Attached a patch for it. Regards, Hari Babu Fujitsu Australia
Вложения
В списке pgsql-hackers по дате отправления: