Re: BUG #14927: Unchecked SearchSysCache1() return value

Поиск
Список
Период
Сортировка
От Amit Langote
Тема Re: BUG #14927: Unchecked SearchSysCache1() return value
Дата
Msg-id ca5461f9-1d9b-dd89-2c58-cd6202cfdb5d@lab.ntt.co.jp
обсуждение исходный текст
Ответ на BUG #14927: Unchecked SearchSysCache1() return value  (bianpan2016@163.com)
Ответы Re: BUG #14927: Unchecked SearchSysCache1() return value  (PanBian <bianpan2016@163.com>)
Список pgsql-bugs
On 2017/11/27 18:01, bianpan2016@163.com wrote:
> The following bug has been logged on the website:
> 
> Bug reference:      14927
> Logged by:          Pan Bian
> Email address:      bianpan2016@163.com
> PostgreSQL version: 10.1
> Operating system:   Linux
> Description:        
> 
> File: postgresql-10.1/src/backend/catalog/heap.c
> Function: heap_drop_with_catalog
> Line: 1771
> 
> Function SearchSysCache1() may return a NULL pointer, but in
> heap_drop_with_catalog(), its return value is not validated before it is
> dereferenced. To avoid NULL dereference, it is better to check the return
> value of SearchSysCache1() against NULL.
> 
> For your convenience, I paste related codes as follows:
> 
> 1771     tuple = SearchSysCache1(RELOID, ObjectIdGetDatum(relid));
> 1772     if (((Form_pg_class) GETSTRUCT(tuple))->relispartition)
> 1773     {
> 1774         parentOid = get_partition_parent(relid);
> 1775         LockRelationOid(parentOid, AccessExclusiveLock);
> 1776     }
> 1777 
> 1778     ReleaseSysCache(tuple);

Thanks for the report.  Attached a patch that adds a check that tuple is
valid before trying to dereference it.

Thanks,
Amit

Вложения

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

Предыдущее
От: bianpan2016@163.com
Дата:
Сообщение: BUG #14931: Unchecked attnum value in ATExecAlterColumnType()
Следующее
От: Amit Langote
Дата:
Сообщение: Re: BUG #14928: Unchecked SearchSysCacheCopy1() return value