Просмотр исходного кода

LibTLS: Move Strings when creating RelativeDistinguishedNames

Also cleans up the organizational_unit() helper to use `value_or({})`
instead of doing the same thing manually.
Hendiadyoin1 1 год назад
Родитель
Сommit
e1c663ba27

+ 1 - 1
Userland/Libraries/LibTLS/Certificate.cpp

@@ -285,7 +285,7 @@ static ErrorOr<RelativeDistinguishedName> parse_name(Crypto::ASN1::Decoder& deco
 
             auto attribute_type_string = TRY(String::join("."sv, attribute_type_oid));
             auto attribute_value_string = TRY(String::from_utf8(attribute_value));
-            TRY(rdn.set(attribute_type_string, attribute_value_string));
+            TRY(rdn.set(move(attribute_type_string), move(attribute_value_string)));
 
             EXIT_SCOPE();
         }

+ 3 - 8
Userland/Libraries/LibTLS/Certificate.h

@@ -195,7 +195,7 @@ public:
 
     ErrorOr<AK::HashSetResult> set(String key, String value)
     {
-        return m_members.try_set(key, value);
+        return m_members.try_set(move(key), move(value));
     }
 
     Optional<String> get(StringView key) const
@@ -223,14 +223,9 @@ public:
         return String();
     }
 
-    String organizational_unit()
+    String organizational_unit() const
     {
-        auto entry = get(AttributeType::Ou);
-        if (entry.has_value()) {
-            return entry.value();
-        }
-
-        return String();
+        return get(AttributeType::Ou).value_or({});
     }
 
 private: