@@ -382,7 +382,6 @@ do_validate_all(void)
382382static void
383383do_validate_instance (void )
384384{
385- char * current_backup_id ;
386385int i ;
387386int j ;
388387parray * backups ;
@@ -397,7 +396,6 @@ do_validate_instance(void)
397396for (i = 0 ;i < parray_num (backups );i ++ )
398397{
399398pgBackup * base_full_backup ;
400- char * parent_backup_id ;
401399
402400current_backup = (pgBackup * )parray_get (backups ,i );
403401
@@ -412,6 +410,7 @@ do_validate_instance(void)
412410/* chain is broken */
413411if (result == 0 )
414412{
413+ char * parent_backup_id ;
415414/* determine missing backup ID */
416415
417416parent_backup_id = base36enc_dup (tmp_backup -> parent_backup );
@@ -430,31 +429,31 @@ do_validate_instance(void)
430429elog (WARNING ,"Backup %s has missing parent %s" ,
431430base36enc (current_backup -> start_time ),parent_backup_id );
432431}
432+ pg_free (parent_backup_id );
433433continue ;
434434}
435435/* chain is whole, but at least one parent is invalid */
436436else if (result == 1 )
437437{
438- /* determine corrupt backup ID */
439- parent_backup_id = base36enc_dup (tmp_backup -> start_time );
440-
441438/* Oldest corrupt backup has a chance for revalidation */
442439if (current_backup -> start_time != tmp_backup -> start_time )
443440{
441+ char * backup_id = base36enc_dup (tmp_backup -> start_time );
444442/* orphanize current_backup */
445443if (current_backup -> status == BACKUP_STATUS_OK )
446444{
447445write_backup_status (current_backup ,BACKUP_STATUS_ORPHAN );
448446elog (WARNING ,"Backup %s is orphaned because his parent %s has status: %s" ,
449- base36enc (current_backup -> start_time ),parent_backup_id ,
447+ base36enc (current_backup -> start_time ),backup_id ,
450448status2str (tmp_backup -> status ));
451449}
452450else
453451{
454452elog (WARNING ,"Backup %s has parent %s with status: %s" ,
455- base36enc (current_backup -> start_time ),parent_backup_id ,
453+ base36enc (current_backup -> start_time ),backup_id ,
456454status2str (tmp_backup -> status ));
457455}
456+ pg_free (backup_id );
458457continue ;
459458}
460459base_full_backup = find_parent_full_backup (current_backup );
@@ -495,6 +494,7 @@ do_validate_instance(void)
495494 */
496495if (current_backup -> status != BACKUP_STATUS_OK )
497496{
497+ char * current_backup_id ;
498498/* This is ridiculous but legal.
499499 * PAGE_b2 <- OK
500500 * PAGE_a2 <- OK