Skip to content

Commit ef1cff4

Browse files
[Update] - sanatize input before pushing to aws secretmanager
1 parent bc92c8d commit ef1cff4

File tree

1 file changed

+18
-5
lines changed

1 file changed

+18
-5
lines changed

services/aws_secretmanager.sh

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,8 @@ function aws_secretmanager_update_secret() {
157157

158158
function aws_secretmanager_update_specific_secret_key_with_hint() {
159159

160-
local secret_name=$(peco_create_menu 'peco_aws_secretmanager_list' '--prompt "Choose secret that you want >"')
160+
local secret_name
161+
secret_name=$(peco_create_menu 'peco_aws_secretmanager_list' '--prompt "Choose secret that you want >"')
161162

162163
# Check input invalid
163164
if [[ -z "$secret_name" ]]; then
@@ -187,6 +188,12 @@ function aws_secretmanager_update_specific_secret_key_with_hint() {
187188
continue
188189
fi
189190

191+
# Remove space/end-of-line at the begining and end of line for secret_value and secret key
192+
secret_key=$(echo "${secret_key}" | sed 's/^[[:space:]]*//; s/[[:space:]]*$//')
193+
secret_key=$(echo "$secret_key" | sed '/./,$!d' | tac | sed '/./,$!d' | tac)
194+
secret_value=$(echo "${secret_value}" | sed 's/^[[:space:]]*//; s/[[:space:]]*$//')
195+
secret_value=$(echo "$secret_value" | sed '/./,$!d' | tac | sed '/./,$!d' | tac)
196+
190197
aws_secretmanager_update_secret "${secret_name}" "${secret_key}" "${secret_value}"
191198

192199
done
@@ -230,13 +237,19 @@ function aws_secretmanager_delete_key() { # Be careful when using this
230237
}
231238

232239
function aws_secretmanager_delete_key_with_hint() { # # Be careful when using this
233-
local secret_name=$(peco_create_menu 'peco_aws_secretmanager_list' '--prompt "Choose secret that you want >"')
240+
local secret_name
241+
local secret_key
242+
243+
secret_name=$(peco_create_menu 'peco_aws_secretmanager_list' '--prompt "Choose secret that you want >"')
234244

235245
# Check input invalid
236-
if [[ -z "$secret_name" ]]; then return; fi
246+
if [[ -z "$secret_name" ]]; then
247+
echo "❌ Secret name is invalid."
248+
return
249+
fi
237250

238-
local secret_key=$(peco_create_menu 'aws_secretmanager_list_keys ${secret_name}' '--prompt "Choose secret key that you want >"')
251+
secret_key=$(peco_create_menu 'aws_secretmanager_list_keys ${secret_name}' '--prompt "Choose secret key that you want >"')
239252

240-
aws_secretmanager_delete_key "${secret_name}" ${secret_key}
253+
aws_secretmanager_delete_key "${secret_name}" "${secret_key}"
241254

242255
}

0 commit comments

Comments
 (0)