lib/commit: reject empty metadata keys

This adds one more check to the metadata validation logic in order
to reject empty metadata keys.
This commit is contained in:
Luca BRUNO committed 2022-01-20 10:54:30 +00:00
1 parent 6230b3eeab
commit da72c245f4
3 files changed
+30 -5

No files matched your search

+12 -1
View File
@@ -23,7 +23,7 @@ set -euo pipefail
mode="bare-user-only"
setup_test_repository "$mode"
extra_basic_tests=6
extra_basic_tests=7
. $(dirname $0)/basic-test.sh
$CMD_PREFIX ostree --version > version.yaml
@@ -54,6 +54,17 @@ fi
assert_file_has_content err.txt "Content object.*invalid mode.*with bits 040.*"
echo "ok failed to commit suid"
cd ${test_tmpdir}
rm repo-input -rf
ostree_repo_init repo-input init --mode=archive
rm files -rf && mkdir files
if $CMD_PREFIX ostree --repo=repo-input commit -b metadata --tree=dir=files --add-metadata-string='=FOO' 2>err.txt; then
assert_not_reached "committed an empty metadata key"
fi
assert_file_has_content err.txt "Empty metadata key"
$CMD_PREFIX ostree --repo=repo-input commit -b metadata --tree=dir=files --add-metadata-string='FOO='
echo "ok rejected invalid metadata"
cd ${test_tmpdir}
rm repo-input -rf
ostree_repo_init repo-input init --mode=archive