diff --git a/Userland/Libraries/LibIPC/Encoder.cpp b/Userland/Libraries/LibIPC/Encoder.cpp index f0259caaca..70b67d8c06 100644 --- a/Userland/Libraries/LibIPC/Encoder.cpp +++ b/Userland/Libraries/LibIPC/Encoder.cpp @@ -44,6 +44,11 @@ ErrorOr encode(Encoder& encoder, double const& value) template<> ErrorOr encode(Encoder& encoder, StringView const& value) { + // NOTE: Do not change this encoding without also updating LibC/netdb.cpp. + if (value.is_null()) + return encoder.encode(NumericLimits::max()); + + TRY(encoder.encode_size(value.length())); TRY(encoder.append(reinterpret_cast(value.characters_without_null_termination()), value.length())); return {}; } @@ -51,13 +56,7 @@ ErrorOr encode(Encoder& encoder, StringView const& value) template<> ErrorOr encode(Encoder& encoder, DeprecatedString const& value) { - // NOTE: Do not change this encoding without also updating LibC/netdb.cpp. - if (value.is_null()) - return encoder.encode(NumericLimits::max()); - - TRY(encoder.encode_size(value.length())); - TRY(encoder.encode(value.view())); - return {}; + return encoder.encode(value.view()); } template<>