CRITICAL: Add missing explicit returns to 5 step functions
These 5 functions were called in conditional statements but had NO explicit return: - step1_detect_datadir (line 2138) - used in: while ! step1_detect_datadir - step2_set_restore_location (line 2376) - used in: while ! step2_set_restore_location - step3_select_database (line 2448) - used in: while ! step3_select_database - step4_configure_options (line 2511) - called in menu case 4 - step5_create_dump (line 2674) - used in: if step5_create_dump All ended with press_enter and closing brace with NO explicit return 0. This caused undefined return codes from read command, breaking while/if logic. FIX: Added explicit `return 0` before closing brace in all 5 functions. These were CATASTROPHICALLY MISSED in previous audit! Script would have failed in production when any step completed successfully. Severity: CRITICAL Impact: Script cannot function without explicit returns on success paths Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -2134,6 +2134,7 @@ step1_detect_datadir() {
|
|||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
press_enter
|
press_enter
|
||||||
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
# Step 2: Configure temporary location for restored MySQL data
|
# Step 2: Configure temporary location for restored MySQL data
|
||||||
@@ -2372,6 +2373,7 @@ step2_set_restore_location() {
|
|||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
press_enter
|
press_enter
|
||||||
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
# Step 3: Allow user to select which database to extract from the restored data
|
# Step 3: Allow user to select which database to extract from the restored data
|
||||||
@@ -2442,6 +2444,7 @@ step3_select_database() {
|
|||||||
print_success "Selected database: $DATABASE_NAME"
|
print_success "Selected database: $DATABASE_NAME"
|
||||||
echo ""
|
echo ""
|
||||||
press_enter
|
press_enter
|
||||||
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
# Step 4: Configure InnoDB recovery options and ticket information
|
# Step 4: Configure InnoDB recovery options and ticket information
|
||||||
@@ -2505,6 +2508,7 @@ step4_configure_options() {
|
|||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
press_enter
|
press_enter
|
||||||
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
# Step 5: Create SQL dump from the restored database using second MySQL instance
|
# Step 5: Create SQL dump from the restored database using second MySQL instance
|
||||||
@@ -2665,6 +2669,7 @@ step5_create_dump() {
|
|||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
press_enter
|
press_enter
|
||||||
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|||||||
Reference in New Issue
Block a user