From c2ce542d61d5e86ab138b72e2e0d74fdac589f04 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Mon, 2 Sep 2024 11:02:22 +0200 Subject: [PATCH 1/2] Remove a couple of strerror() calls Change to using %m in the error message string. We need to be a bit careful here to preserve errno until we need to print it. This change avoids the use of not-thread-safe strerror() and unifies some error message strings, and maybe makes the code appear more consistent. --- src/backend/libpq/hba.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/backend/libpq/hba.c b/src/backend/libpq/hba.c index 75d588e36a1..2fd96a71294 100644 --- a/src/backend/libpq/hba.c +++ b/src/backend/libpq/hba.c @@ -624,8 +624,11 @@ open_auth_file(const char *filename, int elevel, int depth, errmsg("could not open file \"%s\": %m", filename))); if (err_msg) - *err_msg = psprintf("could not open file \"%s\": %s", - filename, strerror(save_errno)); + { + errno = save_errno; + *err_msg = psprintf("could not open file \"%s\": %m", + filename); + } /* the caller may care about some specific errno */ errno = save_errno; return NULL; @@ -762,8 +765,9 @@ tokenize_auth_file(const char *filename, FILE *file, List **tok_lines, ereport(elevel, (errcode_for_file_access(), errmsg("could not read file \"%s\": %m", filename))); - err_msg = psprintf("could not read file \"%s\": %s", - filename, strerror(save_errno)); + errno = save_errno; + err_msg = psprintf("could not read file \"%s\": %m", + filename); break; } -- 2.46.0