From da72c245f4b730d2ff41db996ec14a7f21f097e9 Mon Sep 17 00:00:00 2001 From: Luca BRUNO Date: Thu, 20 Jan 2022 10:54:30 +0000 Subject: lib/commit: reject empty metadata keys This adds one more check to the metadata validation logic in order to reject empty metadata keys. --- tests/test-basic-user-only.sh | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'tests/test-basic-user-only.sh') diff --git a/tests/test-basic-user-only.sh b/tests/test-basic-user-only.sh index 368abf0d..f6e8606d 100755 --- a/tests/test-basic-user-only.sh +++ b/tests/test-basic-user-only.sh @@ -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 -- cgit v1.2.1