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
Re: introduce dynamic shared memory registry |
Список | 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 по дате отправления: