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]