Skip to content

Commit 2ad78a8

Browse files
committed
Fix calculation of how much shared memory is required to store a TOC.
Commit ac883ac refactored shm_toc_estimate() but changed its calculation of shared memory size for TOC incorrectly. Previously this could cause too large memory to be allocated. Back-patch to v11 where the bug was introduced. Author: Takayuki Tsunakawa Discussion: https://postgr.es/m/TYAPR01MB2990BFB73170E2C4921E2C4DFEA80@TYAPR01MB2990.jpnprd01.prod.outlook.com
1 parent ccf4e27 commit 2ad78a8

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

src/backend/storage/ipc/shm_toc.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -265,8 +265,8 @@ shm_toc_estimate(shm_toc_estimator *e)
265265
Size sz;
266266

267267
sz = offsetof(shm_toc, toc_entry);
268-
sz += add_size(sz, mul_size(e->number_of_keys, sizeof(shm_toc_entry)));
269-
sz += add_size(sz, e->space_for_chunks);
268+
sz = add_size(sz, mul_size(e->number_of_keys, sizeof(shm_toc_entry)));
269+
sz = add_size(sz, e->space_for_chunks);
270270

271271
return BUFFERALIGN(sz);
272272
}

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy