mirror of
https://github.com/postgres/postgres.git
synced 2025-06-03 01:21:48 +03:00
Fix memory allocation/copy mistakes.
The previous code was allocating more memory and copying more data than necessary because it specified the wrong PgStat_KindInfo member as the size argument for MemoryContextAlloc and memcpy, respectively. Although these issues exist since 5891c7a8e, there have been no reports from the field. So for now, it seems sufficient to fix them in master. Author: Etsuro Fujita <etsuro.fujita@gmail.com> Reviewed-by: Heikki Linnakangas <hlinnaka@iki.fi> Reviewed-by: Gurjeet Singh <gurjeet@singh.im> Discussion: https://postgr.es/m/CAPmGK15eTRCZTnfgQ4EuBNo%3DQLYGFEbXS_7m2dXqtkcT7L8qrQ%40mail.gmail.com
This commit is contained in:
parent
6e91b9c16f
commit
5201bba266
@ -1187,7 +1187,7 @@ pgstat_build_snapshot(void)
|
||||
Assert(!found);
|
||||
|
||||
entry->data = MemoryContextAlloc(pgStatLocal.snapshot.context,
|
||||
kind_info->shared_size);
|
||||
pgstat_get_entry_len(kind));
|
||||
|
||||
/*
|
||||
* Acquire the LWLock directly instead of using
|
||||
@ -1196,7 +1196,7 @@ pgstat_build_snapshot(void)
|
||||
LWLockAcquire(&stats_data->lock, LW_SHARED);
|
||||
memcpy(entry->data,
|
||||
pgstat_get_entry_data(kind, stats_data),
|
||||
kind_info->shared_size);
|
||||
pgstat_get_entry_len(kind));
|
||||
LWLockRelease(&stats_data->lock);
|
||||
}
|
||||
dshash_seq_term(&hstat);
|
||||
|
Loading…
x
Reference in New Issue
Block a user