diff options
| author | oy <Tom_Adams@web.de> | 2010-08-12 15:22:07 +0200 |
|---|---|---|
| committer | oy <Tom_Adams@web.de> | 2010-08-12 15:22:07 +0200 |
| commit | 7503c642379cec7a2e14fe6a516d69a1f4d6d94a (patch) | |
| tree | 7c10ada1c341c67669cccdc7ae6f261ae3d103a6 /datasrc/datatypes.py | |
| parent | 1cde96ef79a8418a9c34f355ec49d08f1e654213 (diff) | |
| download | zcatch-7503c642379cec7a2e14fe6a516d69a1f4d6d94a.tar.gz zcatch-7503c642379cec7a2e14fe6a516d69a1f4d6d94a.zip | |
made unpacking of net strings more strict - prevents possible malformed output
Diffstat (limited to 'datasrc/datatypes.py')
| -rw-r--r-- | datasrc/datatypes.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/datasrc/datatypes.py b/datasrc/datatypes.py index e4459e48..4e293ab1 100644 --- a/datasrc/datatypes.py +++ b/datasrc/datatypes.py @@ -294,6 +294,14 @@ class NetString(NetVariable): def emit_pack(self): return ["pPacker->AddString(%s, -1);" % self.name] +class NetStringStrict(NetVariable): + def emit_declaration(self): + return ["const char *%s;"%self.name] + def emit_unpack(self): + return ["pMsg->%s = pUnpacker->GetString(CUnpacker::SANITIZE_CC|CUnpacker::SKIP_START_WHITESPACES);" % self.name] + def emit_pack(self): + return ["pPacker->AddString(%s, -1);" % self.name] + class NetIntAny(NetVariable): def emit_declaration(self): return ["int %s;"%self.name] |