Commit 2ad78a87 authored by Fujii Masao's avatar Fujii Masao

Fix calculation of how much shared memory is required to store a TOC.

Commit ac883ac4 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
parent ccf4e277
......@@ -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);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment