From 750aae3a97a3af092acfbc83ac241039a9201099 Mon Sep 17 00:00:00 2001 From: Dennis ten Hoove Date: Sun, 25 Feb 2024 05:51:56 +0100 Subject: [PATCH] Fix crash if tracker empty on delete --- arkdep | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/arkdep b/arkdep index b74e0cc..2dbfd6c 100755 --- a/arkdep +++ b/arkdep @@ -370,7 +370,18 @@ remove_deployment () { rm -rf $(readlink -m $arkdep_dir/deployments/$target) # Remove from tracker - grep -v $1 $arkdep_dir/tracker > $arkdep_dir/tracker_tmp || cleanup_and_quit 'Failed to update tracker file' + grep -v $1 $arkdep_dir/tracker > $arkdep_dir/tracker_tmp + declare -r tracker_write_exit_code=$? + + # Grep may return a 1 if the file is empty + if [[ $tracker_write_exit_code -eq 1 ]]; then + # No matches, this means file is now empty + truncate -s 0 $arkdep_dir/tracker + elif [[ $tracker_write_exit_code -eq 2 ]]; then + # An error occured in grep + cleanup_and_quit 'Failed to update tracker file' + fi + mv $arkdep_dir/tracker_tmp $arkdep_dir/tracker || cleanup_and_quit 'Failed to move tracker_tmp file to tracker' # Remove images from cache if requested