[Request] [+ ] D11303: zeroconf: fix an issue concatenating bytes and str

mharbison72 (Matt Harbison) phabricator at mercurial-scm.org
Wed Aug 18 19:00:38 UTC 2021


mharbison72 created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.

REVISION SUMMARY
  `bytes(length)` doesn't do what we want, so use `str`.
  
  There appear to be a ton more issues in this extension, including:
  
  - globals()[b'_GLOBAL_DONE'] using bytes as the key
  - `__author__` and similar using bytes
  - `BadDomainName` is feeding bytes to the Exception constructor
  - DNSRecord.toString() has the wrong signature (should be str, not bytes)

REPOSITORY
  rHG Mercurial

BRANCH
  stable

REVISION DETAIL
  https://phab.mercurial-scm.org/D11303

AFFECTED FILES
  hgext/zeroconf/Zeroconf.py

CHANGE DETAILS

diff --git a/hgext/zeroconf/Zeroconf.py b/hgext/zeroconf/Zeroconf.py
--- a/hgext/zeroconf/Zeroconf.py
+++ b/hgext/zeroconf/Zeroconf.py
@@ -770,7 +770,7 @@
 
     def writeString(self, value, length):
         """Writes a string to the packet"""
-        format = b'!' + str(length) + b's'
+        format = '!' + str(length) + 's'
         self.data.append(struct.pack(format, value))
         self.size += length
 



To: mharbison72, #hg-reviewers
Cc: mercurial-patches, mercurial-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mercurial-scm.org/pipermail/mercurial-patches/attachments/20210818/a1b358c8/attachment.html>


More information about the Mercurial-patches mailing list