aboutsummaryrefslogtreecommitdiff
path: root/contrib/intarray/_int_gist.c
diff options
context:
space:
mode:
authorMichael Paquier <michael@paquier.xyz>2023-11-27 09:40:57 +0900
committerMichael Paquier <michael@paquier.xyz>2023-11-27 09:40:57 +0900
commit0217a7444a5760e5f0bb2d5e4d4b17d81ae438a0 (patch)
treec9c74d899586560f59d99385420219b4144bc42d /contrib/intarray/_int_gist.c
parent450ad6585ac55d0cf7e32bda238db409321f4923 (diff)
downloadpostgresql-0217a7444a5760e5f0bb2d5e4d4b17d81ae438a0.tar.gz
postgresql-0217a7444a5760e5f0bb2d5e4d4b17d81ae438a0.zip
Fix race condition with BIO methods initialization in libpq with threads
The libpq code in charge of creating per-connection SSL objects was prone to a race condition when loading the custom BIO methods needed by my_SSL_set_fd(). As BIO methods are stored as a static variable, the initialization of a connection could fail because it could be possible to have one thread refer to my_bio_methods while it is being manipulated by a second concurrent thread. This error has been introduced by 8bb14cdd33de, that has removed ssl_config_mutex around the call of my_SSL_set_fd(), that itself sets the custom BIO methods used in libpq. Like previously, the BIO method initialization is now protected by the existing ssl_config_mutex, itself initialized earlier for WIN32. While on it, document that my_bio_methods is protected by ssl_config_mutex, as this can be easy to miss. Reported-by: Willi Mann Author: Willi Mann, Michael Paquier Discussion: https://postgr.es/m/e77abc4c-4d03-4058-a9d7-ef0035657e04@celonis.com Backpatch-through: 12
Diffstat (limited to 'contrib/intarray/_int_gist.c')
0 files changed, 0 insertions, 0 deletions