]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
iso9660: small iso9660_set_string() clean-ups
authorLennart Poettering <lennart@amutable.com>
Thu, 2 Apr 2026 12:13:13 +0000 (14:13 +0200)
committerLennart Poettering <lennart@amutable.com>
Sat, 4 Apr 2026 06:18:10 +0000 (08:18 +0200)
src/repart/iso9660.c

index 72d4c285cb62643116ecf7d28cfb9921bb44ef1e..a555fb9f9e3b6c4711228c8bb882264f323154d5 100644 (file)
@@ -120,15 +120,17 @@ static bool iso9660_valid_string(const char *str, bool allow_a_chars) {
 }
 
 int iso9660_set_string(char target[], size_t len, const char *source, bool allow_a_chars) {
-        if (source && !iso9660_valid_string(source, allow_a_chars))
-                return -EINVAL;
+        assert(target || len == 0);
 
         if (source) {
+                if (!iso9660_valid_string(source, allow_a_chars))
+                        return -EINVAL;
+
                 size_t slen = strlen(source);
                 if (slen > len)
                         return -EINVAL;
-                void *p = mempcpy(target, source, slen);
-                memset(p, ' ', len - slen);
+
+                memset(mempcpy(target, source, slen), ' ', len - slen);
         } else
                 memset(target, ' ', len);