]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
integritysetup: also validate volume name 22919/head
authorLennart Poettering <lennart@poettering.net>
Thu, 31 Mar 2022 09:22:07 +0000 (11:22 +0200)
committerLennart Poettering <lennart@poettering.net>
Thu, 31 Mar 2022 09:44:46 +0000 (11:44 +0200)
Exactly like for veritysetup/cryptsetup

src/integritysetup/integritysetup.c

index f95840a8d0f3d1ec4ba8c9c915907b89a57164dd..924c15b6eb1caeed3feab4fee7a3f2f4b636fdb3 100644 (file)
@@ -124,6 +124,9 @@ static int run(int argc, char *argv[]) {
                 key_file = mangle_none(argc > 4 ? argv[4] : NULL);
                 options = mangle_none(argc > 5 ? argv[5] : NULL);
 
+                if (!filename_is_valid(volume))
+                        return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Volume name '%s' is not valid.", volume);
+
                 if (key_file) {
                         r = load_key_file(key_file, &key_buf, &key_buf_size);
                         if (r < 0)
@@ -174,6 +177,9 @@ static int run(int argc, char *argv[]) {
                 if (argc > 3)
                         return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "detach has a maximum of two arguments.");
 
+                if (!filename_is_valid(volume))
+                        return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Volume name '%s' is not valid.", volume);
+
                 r = crypt_init_by_name(&cd, volume);
                 if (r == -ENODEV) {
                         log_info("Volume %s already inactive.", volume);