From e6b04d9ffd8bef2482ab61957c138ae92527206d Mon Sep 17 00:00:00 2001 From: Patrick McDermott Date: Wed, 13 Mar 2019 17:15:03 -0400 Subject: Protect [ commands from strings beginning with "-" --- (limited to 'lib') diff --git a/lib/changelog.sh b/lib/changelog.sh index 56a53e7..c42c769 100644 --- a/lib/changelog.sh +++ b/lib/changelog.sh @@ -84,11 +84,11 @@ ob_parse_changelog() line_nr=$(($line_nr + 1)) case "${line}" in '') - if [ "${expect}" = 'start_changes' ]; then + if [ x"${expect}" = x'start_changes' ]; then changes="${changes}${_OB_LF}${line}" - elif [ "${expect}" = 'next_or_eof' ]; then + elif [ x"${expect}" = x'next_or_eof' ]; then : - elif [ "${expect}" != 'changes_or_trailer' ]; then + elif [ x"${expect}" != x'changes_or_trailer' ]; then _ob_parse_changelog_error "${file}" "${line_nr}" \ 'changelog_found_blank_line' \ "$(_ob_get_changelog_expect_str "${expect}")" @@ -97,8 +97,8 @@ ob_parse_changelog() fi ;; [!\ ]*) - if [ "${expect}" != 'first_heading' -a \ - "${expect}" != 'next_or_eof' ]; then + if [ x"${expect}" != x'first_heading' -a \ + x"${expect}" != x'next_or_eof' ]; then _ob_parse_changelog_error "${file}" "${line_nr}" \ 'changelog_found_heading' \ "$(_ob_get_changelog_expect_str "${expect}")" @@ -134,7 +134,7 @@ ob_parse_changelog() blank_lines='' ;; ' -- '*) - if [ "${expect}" != 'changes_or_trailer' ]; then + if [ x"${expect}" != x'changes_or_trailer' ]; then _ob_parse_changelog_error "${file}" "${line_nr}" \ 'changelog_found_trailer' \ "$(_ob_get_changelog_expect_str "${expect}")" @@ -162,8 +162,8 @@ ob_parse_changelog() 'changelog_bad_trailer' ;; ' '*) - if [ "${expect}" != 'start_changes' -a \ - "${expect}" != 'changes_or_trailer' ]; then + if [ x"${expect}" != x'start_changes' -a \ + x"${expect}" != x'changes_or_trailer' ]; then _ob_parse_changelog_error "${file}" "${line_nr}" \ 'changelog_found_change' \ "$(_ob_get_changelog_expect_str "${expect}")" @@ -182,7 +182,7 @@ ob_parse_changelog() $(cat "${file}") EOF - if [ "${expect}" != 'next_or_eof' ]; then + if [ x"${expect}" != x'next_or_eof' ]; then _ob_parse_changelog_error "${file}" "${line_nr}" \ 'changelog_found_eof' \ "$(_ob_get_changelog_expect_str "${expect}")" diff --git a/lib/metadata.sh b/lib/metadata.sh index e22a6e7..c8201ae 100644 --- a/lib/metadata.sh +++ b/lib/metadata.sh @@ -170,8 +170,8 @@ ob_match_arch() for field_arch in ${arch_field}; do # "all" == "all" - if [ "${match_arch}" = 'all' ]; then - if [ "${field_arch}" = 'all' ]; then + if [ x"${match_arch}" = x'all' ]; then + if [ x"${field_arch}" = x'all' ]; then return 0 else continue @@ -179,7 +179,7 @@ ob_match_arch() fi # "foo-bar-baz" == "any" - if [ "${field_arch}" = 'any' ]; then + if [ x"${field_arch}" = x'any' ]; then return 0 fi @@ -215,17 +215,17 @@ ob_match_plat() local p= for p in ${plat_field}; do - if [ "${plat}" = 'all' ]; then - if [ "${p}" = 'all' ]; then + if [ x"${plat}" = x'all' ]; then + if [ x"${p}" = x'all' ]; then return 0 else continue fi fi - if [ "${p}" = 'any' ]; then + if [ x"${p}" = x'any' ]; then return 0 fi - if [ "${p}" = "${plat}" ]; then + if [ x"${p}" = x"${plat}" ]; then return 0 fi done @@ -242,10 +242,10 @@ ob_arch_is_concerned() local not_arch= local seen_arch= - if [ "x${arches}" = 'x' ]; then + if [ x"${arches}" = x'' ]; then return 0 - elif [ "x${host_arch}" = 'xall' ]; then - if [ "x${arches}" = 'xall' ]; then + elif [ x"${host_arch}" = x'all' ]; then + if [ x"${arches}" = x'all' ]; then return 0 else return 1 @@ -254,7 +254,7 @@ ob_arch_is_concerned() seen_arch=1 for arch in ${arches}; do not_arch="${arch#!}" - if [ "${not_arch}" != "${arch}" ]; then + if [ x"${not_arch}" != x"${arch}" ]; then if ob_match_arch "${host_arch}" "${not_arch}" then seen_arch=1 @@ -280,10 +280,10 @@ ob_plat_is_concerned() local not_plat= local seen_plat= - if [ "x${plats}" = 'x' ]; then + if [ x"${plats}" = x'' ]; then return 0 - elif [ "x${host_plat}" = 'xall' ]; then - if [ "x${plats}" = 'xall' ]; then + elif [ x"${host_plat}" = x'all' ]; then + if [ x"${plats}" = x'all' ]; then return 0 else return 1 @@ -292,7 +292,7 @@ ob_plat_is_concerned() seen_plat=1 for plat in ${plats}; do not_plat="${plat#!}" - if [ "${not_plat}" != "${plat}" ]; then + if [ x"${not_plat}" != x"${plat}" ]; then if ob_match_plat "${host_plat}" "${not_plat}" then seen_plat=1 -- cgit v0.9.1