]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
Revert "core/mount: replace invalid UTF-8 code points in "what" and "options""
authorYu Watanabe <watanabe.yu+github@gmail.com>
Thu, 11 May 2023 10:13:51 +0000 (19:13 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Thu, 11 May 2023 10:24:42 +0000 (19:24 +0900)
This reverts commit aaf7b0e41105d7b7cf30912cdac32820f011a219.

Not only /proc/mountinfo, .mount units not started yet may contain
invalid UTF-8 chars.

src/core/mount.c

index b87b57b7ad2f1e081d8b2bab3064edcd5df6510a..549d7dbf986f76ec3c2febbea2ca8b9aa71cffda 100644 (file)
@@ -34,7 +34,6 @@
 #include "strv.h"
 #include "unit-name.h"
 #include "unit.h"
-#include "utf8.h"
 
 #define RETRY_UMOUNT_MAX 32
 
@@ -275,35 +274,13 @@ static int update_parameters_proc_self_mountinfo(
 
         p = &m->parameters_proc_self_mountinfo;
 
-        if (what && !utf8_is_valid(what)) {
-                _cleanup_free_ char *what_escaped = NULL;
-
-                what_escaped = utf8_escape_invalid(what);
-                if (!what_escaped)
-                        return -ENOMEM;
-
-                r = !streq_ptr(p->what, what_escaped);
-                free_and_replace(p->what, what_escaped);
-        } else {
-                r = free_and_strdup(&p->what, what);
-                if (r < 0)
-                        return r;
-        }
-
-        if (options && !utf8_is_valid(options)) {
-                _cleanup_free_ char *options_escaped = NULL;
-
-                options_escaped = utf8_escape_invalid(options);
-                if (!options_escaped)
-                        return -ENOMEM;
+        r = free_and_strdup(&p->what, what);
+        if (r < 0)
+                return r;
 
-                q = !streq_ptr(p->options, options_escaped);
-                free_and_replace(p->options, options_escaped);
-        } else {
-                q = free_and_strdup(&p->options, options);
-                if (q < 0)
-                        return q;
-        }
+        q = free_and_strdup(&p->options, options);
+        if (q < 0)
+                return q;
 
         w = free_and_strdup(&p->fstype, fstype);
         if (w < 0)