From c794da9f8893636aa4bd9abe4b9d07a9255429d5 Mon Sep 17 00:00:00 2001 From: jdomnitz <380352+jdomnitz@users.noreply.github.com> Date: Wed, 19 Apr 2023 23:54:13 -0400 Subject: [PATCH] Fix issue richardschneider/net-dns#46 --- src/WireWriter.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/WireWriter.cs b/src/WireWriter.cs index 845ba0d..0b5786f 100644 --- a/src/WireWriter.cs +++ b/src/WireWriter.cs @@ -270,7 +270,8 @@ public void WriteDomainName(DomainName name, bool uncompressed = false) for (var i = 0; i < n; ++i) { var label = labels[i]; - if (label.Length > 63) + var labelBytes = Encoding.UTF8.GetBytes(label); + if (labelBytes.Length > 63) throw new ArgumentException($"Label '{label}' cannot exceed 63 octets."); // Check for qualified name already used. @@ -286,8 +287,7 @@ public void WriteDomainName(DomainName name, bool uncompressed = false) } // Add the label - var bytes = Encoding.UTF8.GetBytes(label); - WriteByteLengthPrefixedBytes(bytes); + WriteByteLengthPrefixedBytes(labelBytes); } stream.WriteByte(0); // terminating byte