소스 검색

Merge pull request #3736 from jleni/fix_rbpi

Fix: Truncated Message due to "TypeError: unhashable type: 'bytearray'"
Jisi Liu 8 년 전
부모
커밋
30bfe36b6a
2개의 변경된 파일2개의 추가작업 그리고 2개의 파일을 삭제
  1. 1 1
      python/google/protobuf/internal/decoder.py
  2. 1 1
      python/google/protobuf/internal/encoder.py

+ 1 - 1
python/google/protobuf/internal/decoder.py

@@ -181,7 +181,7 @@ def ReadTag(buffer, pos):
   while six.indexbytes(buffer, pos) & 0x80:
     pos += 1
   pos += 1
-  return (buffer[start:pos], pos)
+  return (six.binary_type(buffer[start:pos]), pos)
 
 
 # --------------------------------------------------------------------

+ 1 - 1
python/google/protobuf/internal/encoder.py

@@ -418,7 +418,7 @@ def _VarintBytes(value):
 def TagBytes(field_number, wire_type):
   """Encode the given tag and return the bytes.  Only called at startup."""
 
-  return _VarintBytes(wire_format.PackTag(field_number, wire_type))
+  return six.binary_type( _VarintBytes(wire_format.PackTag(field_number, wire_type)) )
 
 # --------------------------------------------------------------------
 # As with sizers (see above), we have a number of common encoder