Fix pgstat_report_replslot() to use proper data types for its arguments.
authorFujii Masao <[email protected]>
Fri, 2 Apr 2021 08:27:31 +0000 (17:27 +0900)
committerFujii Masao <[email protected]>
Fri, 2 Apr 2021 08:27:31 +0000 (17:27 +0900)
commit96bdb7e19de80a0c9521c5696455bca2a685c919
tree28ff43ecfd49169da563edd98ca6f34cbba7e303
parent6fb66c268df2de1112cac3cf0a6cf0a8b96ceaf0
Fix pgstat_report_replslot() to use proper data types for its arguments.

The caller of pgstat_report_replslot() passes int64 values to the function.
Also the function stores those values in PgStat_Counter (i.e., int64) fields
of PgStat_MsgReplSlot struct. But previously the function used "int" as
the data types of some arguments for those values, which could lead to
the overflow of values.

To avoid this risk, this commit fixes pgstat_report_replslot() to use
PgStat_Counter type for the arguments. Since they are the statistics counters,
PgStat_Counter, the data type used for counters, is used for them
instead of int64.

Reported-by: Vignesh C
Author: Vignesh C
Reviewed-by: Jeevan Ladhe, Fujii Masao
Discussion: https://postgr.es/m/CALDaNm080OpG=ZwOb0i8EyChH5SyHAMFWJCKaKTXmrfvJLbgaA@mail.gmail.com
src/backend/postmaster/pgstat.c
src/include/pgstat.h