diff --git a/scripts/lib/common.sh b/scripts/lib/common.sh index 416f86171..a1c7b08f3 100755 --- a/scripts/lib/common.sh +++ b/scripts/lib/common.sh @@ -149,7 +149,12 @@ is_public_ecr_logged_in() { # Base64 decode it # Read the "expiration" value local expiration_time - expiration_time=$(jq -r --arg url $public_ecr_url '.auths[$url].auth' ~/.docker/config.json | base64 -d | cut -d":" -f2 | base64 -d | jq -r ".expiration") + auth_string=$(jq -r --arg url $public_ecr_url '.auths[$url].auth' ~/.docker/config.json) + + [ -z "$auth_string" ] && return 1 + [ "$auth_string" = "null" ] && return 1 + + expiration_time=$(echo $auth_string | base64 -d | cut -d":" -f2 | base64 -d | jq -r ".expiration") # If any part of this doesn't exist, the user isn't logged in [ -z "$expiration_time" ] && return 1