From 01bc003cff03ea1e720ef25c4276ee65d5dce5fd Mon Sep 17 00:00:00 2001 From: Paul Taysom Date: Thu, 16 May 2013 14:27:09 -0700 Subject: [PATCH] Changed to use sed for regex pattern matching The code was using a mixture of shell patterns and sed regular expression. Changed code to just used sed regex. This will let me use more complex regex that are needed for adding PARTUUID to uuids. BUG=chromium:241572 TEST=./security_test_image BRANCH=none Change-Id: I2e8570051b31d580ae36cb82f05383a33236b88e Reviewed-on: https://gerrit.chromium.org/gerrit/51503 Reviewed-by: Mike Frysinger Commit-Queue: Paul Taysom Tested-by: Paul Taysom --- .../image_signing/ensure_secure_kernelparams.sh | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/scripts/image_signing/ensure_secure_kernelparams.sh b/scripts/image_signing/ensure_secure_kernelparams.sh index 7d9c050dc5..2b13cff65c 100755 --- a/scripts/image_signing/ensure_secure_kernelparams.sh +++ b/scripts/image_signing/ensure_secure_kernelparams.sh @@ -65,6 +65,8 @@ main() { local testfail=0 # A buffer to include useful information that we dump when things fail. local output + # Copy of a string before it has been through sed + local pre_sed if [[ $# -ne 1 ]] && [[ $# -ne 2 ]]; then usage @@ -170,15 +172,12 @@ main() { # Ensure all other required regex params are present. for param in "${required_kparams_regex[@]}"; do - if [[ "$kparams_nodm" != *$param* ]]; then - echo "Kernel parameters missing required value: $param" - testfail=1 - else - # Remove matched params as we go. If all goes well, kparams_nodm - # will be nothing left but whitespace by the end. - kparams_nodm=$(echo " ${kparams_nodm} " | - sed "s${M} ${param} ${M} ${M}") - fi + pre_sed=" ${kparams_nodm} " + kparams_nodm=$(echo "${pre_sed}" | sed "s${M} ${param} ${M} ${M}") + if [[ "${pre_sed}" == "${kparams_nodm}" ]]; then + echo "Kernel parameters missing required value: ${param}" + testfail=1 + fi done # Check-off each of the allowed-but-optional params that were present.