Merge pull request #4 from jagotu/master

Ndr: Make sure Strings are null-terminated. Add NULL byte if not present.
This commit is contained in:
hakril
2018-11-07 22:10:34 +01:00
committed by GitHub
+6
View File
@@ -102,6 +102,8 @@ class NdrVaryingCString(object):
def pack(cls, data):
if data is None:
return None
if not data.endswith('\x00'):
data += '\x00'
l = len(data)
result = struct.pack("<2I", 0, l)
result += data
@@ -112,6 +114,8 @@ class NdrWString(object):
def pack(cls, data):
if data is None:
return None
if not data.endswith('\x00'):
data += '\x00'
data = data.encode("utf-16-le")
l = (len(data) / 2)
result = struct.pack("<3I", l, 0, l)
@@ -132,6 +136,8 @@ class NdrCString(object):
def pack(cls, data):
if data is None:
return None
if not data.endswith('\x00'):
data += '\x00'
l = len(data)
result = struct.pack("<3I", l, 0, l)
result += data