about summary refs log tree commit diff
path: root/datasrc/datatypes.py
diff options
context:
space:
mode:
authoroy <Tom_Adams@web.de>2010-08-12 15:22:07 +0200
committeroy <Tom_Adams@web.de>2010-08-12 15:22:07 +0200
commit7503c642379cec7a2e14fe6a516d69a1f4d6d94a (patch)
tree7c10ada1c341c67669cccdc7ae6f261ae3d103a6 /datasrc/datatypes.py
parent1cde96ef79a8418a9c34f355ec49d08f1e654213 (diff)
downloadzcatch-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.py8
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]