mirror of
https://github.com/EnterpriseDB/repmgr.git
synced 2026-03-22 22:56:29 +00:00
Minor sanity check for control file extraction functions
If the control file couldn't be parsed for whatever reason, return the default value for the requested parameter. It'd be better to have the caller pass in a pointer to the parameter and have the function return bool so the caller doesn't assume the control file was read successfully. This is important for handling DBState, where no "value unknown" default is available.
This commit is contained in:
@@ -90,7 +90,9 @@ get_system_identifier(const char *data_directory)
|
||||
uint64 system_identifier = UNKNOWN_SYSTEM_IDENTIFIER;
|
||||
|
||||
control_file_info = get_controlfile(data_directory);
|
||||
system_identifier = control_file_info->system_identifier;
|
||||
|
||||
if (control_file_info->control_file_processed == true)
|
||||
system_identifier = control_file_info->system_identifier;
|
||||
|
||||
pfree(control_file_info);
|
||||
|
||||
@@ -122,7 +124,8 @@ get_latest_checkpoint_location(const char *data_directory)
|
||||
|
||||
control_file_info = get_controlfile(data_directory);
|
||||
|
||||
checkPoint = control_file_info->checkPoint;
|
||||
if (control_file_info->control_file_processed == true)
|
||||
checkPoint = control_file_info->checkPoint;
|
||||
|
||||
pfree(control_file_info);
|
||||
|
||||
@@ -138,7 +141,8 @@ get_data_checksum_version(const char *data_directory)
|
||||
|
||||
control_file_info = get_controlfile(data_directory);
|
||||
|
||||
data_checksum_version = (int) control_file_info->data_checksum_version;
|
||||
if (control_file_info->control_file_processed == true)
|
||||
data_checksum_version = (int) control_file_info->data_checksum_version;
|
||||
|
||||
pfree(control_file_info);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user