postgres.git / summary / log / commit / refs
commit 3ec6e00ece5fc7483f8890306005f97a2c640861
Author: Magnus Hagander <magnus@hagander.net>
Date: Wed Jun 29 17:35:11 2011 +0000
First released in: master (reverted before release), 9.0.5, 9.1.0
Reverted by: 24e2d4b6ba99 (in 9.2.0)
Protect pg_stat_reset_shared() against NULL input
Per bug #6082, reported by Steve Haslam
src/backend/utils/adt/pgstatfuncs.c | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/src/backend/utils/adt/pgstatfuncs.c b/src/backend/utils/adt/pgstatfuncs.c
index 12dbff4c9a9..4d07bdd24bd 100644
--- a/src/backend/utils/adt/pgstatfuncs.c
+++ b/src/backend/utils/adt/pgstatfuncs.c
@@ -1537,9 +1537,17 @@ pg_stat_reset(PG_FUNCTION_ARGS)
Datum
pg_stat_reset_shared(PG_FUNCTION_ARGS)
{
- char *target = text_to_cstring(PG_GETARG_TEXT_PP(0));
-
- pgstat_reset_shared_counters(target);
+ if (PG_ARGISNULL(0))
+ /*
+ * Same error message as in pgstat_reset_shared_counters(),
+ * to keep translations the same.
+ */
+ ereport(ERROR,
+ (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
+ errmsg("unrecognized reset target: \"%s\"", "null"),
+ errhint("Target must be \"bgwriter\".")));
+
+ pgstat_reset_shared_counters(text_to_cstring(PG_GETARG_TEXT_PP(0)));
PG_RETURN_VOID();
}
[parent: ca7e04b0b994]