Re: introduce dynamic shared memory registry

Поиск
Список
Период
Сортировка
От Nathan Bossart
Тема Re: introduce dynamic shared memory registry
Дата
Msg-id 20240121221320.GA1682397@nathanxps13
обсуждение исходный текст
Ответ на Re: introduce dynamic shared memory registry  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: introduce dynamic shared memory registry  (Michael Paquier <michael@paquier.xyz>)
Re: introduce dynamic shared memory registry  (Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>)
Список pgsql-hackers
On Sun, Jan 21, 2024 at 11:21:46AM -0500, Tom Lane wrote:
> Coverity complained about this:
> 
> *** CID 1586660:  Null pointer dereferences  (NULL_RETURNS)
> /srv/coverity/git/pgsql-git/postgresql/src/backend/storage/ipc/dsm_registry.c: 185 in GetNamedDSMSegment()
> 179         }
> 180         else if (!dsm_find_mapping(entry->handle))
> 181         {
> 182             /* Attach to existing segment. */
> 183             dsm_segment *seg = dsm_attach(entry->handle);
> 184     
>>>>     CID 1586660:  Null pointer dereferences  (NULL_RETURNS)
>>>>     Dereferencing a pointer that might be "NULL" "seg" when calling "dsm_pin_mapping".
> 185             dsm_pin_mapping(seg);
> 186             ret = dsm_segment_address(seg);
> 187         }
> 188         else
> 189         {
> 190             /* Return address of an already-attached segment. */
> 
> I think it's right --- the comments for dsm_attach explicitly
> point out that a NULL return is possible.  You need to handle
> that scenario in some way other than SIGSEGV.

Oops.  I've attached an attempt at fixing this.  I took the opportunity to
clean up the surrounding code a bit.

-- 
Nathan Bossart
Amazon Web Services: https://aws.amazon.com

Вложения

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

Предыдущее
От: Pavel Luzanov
Дата:
Сообщение: Re: Things I don't like about \du's "Attributes" column
Следующее
От: Andy Fan
Дата:
Сообщение: Re: the s_lock_stuck on perform_spin_delay