aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFujii Masao <fujii@postgresql.org>2021-01-15 12:44:17 +0900
committerFujii Masao <fujii@postgresql.org>2021-01-15 12:45:51 +0900
commit19a1d768531a75cf729dc294322c6a4460f67ed9 (patch)
tree2b200111d366132a9127476ad0f33b1bc704d16b /src
parent0d221ececeb9697b4e0c3a1c22861e8f54bd050d (diff)
downloadpostgresql-19a1d768531a75cf729dc294322c6a4460f67ed9.tar.gz
postgresql-19a1d768531a75cf729dc294322c6a4460f67ed9.zip
Fix calculation of how much shared memory is required to store a TOC.
Commit ac883ac453 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
Diffstat (limited to 'src')
-rw-r--r--src/backend/storage/ipc/shm_toc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/backend/storage/ipc/shm_toc.c b/src/backend/storage/ipc/shm_toc.c
index 2870bb7a5a9..ada34ff5e90 100644
--- a/src/backend/storage/ipc/shm_toc.c
+++ b/src/backend/storage/ipc/shm_toc.c
@@ -265,8 +265,8 @@ shm_toc_estimate(shm_toc_estimator *e)
Size sz;
sz = offsetof(shm_toc, toc_entry);
- sz += add_size(sz, mul_size(e->number_of_keys, sizeof(shm_toc_entry)));
- sz += add_size(sz, e->space_for_chunks);
+ sz = add_size(sz, mul_size(e->number_of_keys, sizeof(shm_toc_entry)));
+ sz = add_size(sz, e->space_for_chunks);
return BUFFERALIGN(sz);
}