aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/pgstatfuncs.c
diff options
context:
space:
mode:
authorPeter Eisentraut <peter@eisentraut.org>2019-01-28 14:36:48 +0100
committerPeter Eisentraut <peter@eisentraut.org>2019-01-29 13:06:33 +0100
commite77cfa54d700557ea700d47454c9e570f20f1841 (patch)
treed3d4913137353b22d271761ee79d35673b46af05 /src/backend/utils/adt/pgstatfuncs.c
parent18059543e76aeb6b3cf3a5513e69daf222d3558e (diff)
downloadpostgresql-e77cfa54d700557ea700d47454c9e570f20f1841.tar.gz
postgresql-e77cfa54d700557ea700d47454c9e570f20f1841.zip
Fix pg_stat_ssl.clientdn
Return null if there is no client certificate. This is how it has always been documented, but in reality it returned an empty string. Reviewed-by: Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp> Discussion: https://www.postgresql.org/message-id/flat/398754d8-6bb5-c5cf-e7b8-22e5f0983caf@2ndquadrant.com/
Diffstat (limited to 'src/backend/utils/adt/pgstatfuncs.c')
-rw-r--r--src/backend/utils/adt/pgstatfuncs.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/backend/utils/adt/pgstatfuncs.c b/src/backend/utils/adt/pgstatfuncs.c
index 053bb73863d..20ebcfbcdf6 100644
--- a/src/backend/utils/adt/pgstatfuncs.c
+++ b/src/backend/utils/adt/pgstatfuncs.c
@@ -652,7 +652,10 @@ pg_stat_get_activity(PG_FUNCTION_ARGS)
values[20] = CStringGetTextDatum(beentry->st_sslstatus->ssl_cipher);
values[21] = Int32GetDatum(beentry->st_sslstatus->ssl_bits);
values[22] = BoolGetDatum(beentry->st_sslstatus->ssl_compression);
- values[23] = CStringGetTextDatum(beentry->st_sslstatus->ssl_clientdn);
+ if (beentry->st_sslstatus->ssl_clientdn[0])
+ values[23] = CStringGetTextDatum(beentry->st_sslstatus->ssl_clientdn);
+ else
+ nulls[23] = true;
}
else
{