]> Sergey Matveev's repositories - btrtrc.git/commitdiff
Quote peer extension names to expvar
authorMatt Joiner <anacrolix@gmail.com>
Fri, 19 Nov 2021 02:02:42 +0000 (13:02 +1100)
committerMatt Joiner <anacrolix@gmail.com>
Fri, 19 Nov 2021 02:02:42 +0000 (13:02 +1100)
peerconn.go

index 4dcf71e8e35d0eba058e9b5a26d728ed4488a3b0..0646946174a5c1603352d7d500b850782a852401 100644 (file)
@@ -1257,7 +1257,11 @@ func (c *PeerConn) onReadExtendedMsg(id pp.ExtensionNumber, payload []byte) (err
                c.PeerPrefersEncryption = d.Encryption
                for name, id := range d.M {
                        if _, ok := c.PeerExtensionIDs[name]; !ok {
-                               peersSupportingExtension.Add(string(name), 1)
+                               peersSupportingExtension.Add(
+                                       // expvar.Var.String must produce valid JSON. "ut_payme\xeet_address" was being
+                                       // entered here which caused problems later when unmarshalling.
+                                       strconv.Quote(string(name)),
+                                       1)
                        }
                        c.PeerExtensionIDs[name] = id
                }