[tor-commits] [trunnel] 02/02: Do not generate a `truncated:` for _parsing_ u8[] at end of struct

gitolite role git at cupani.torproject.org
Thu May 5 12:51:36 UTC 2022


This is an automated email from the git hooks/post-receive script.

nickm pushed a commit to branch main
in repository trunnel.

commit 6ab21f0f9315dbe5ee74b5737a0d87276cad980c
Author: Nick Mathewson <nickm at torproject.org>
AuthorDate: Thu May 5 08:43:11 2022 -0400

    Do not generate a `truncated:` for _parsing_ u8[] at end of struct
    
    Our previous rule had been that all u8 arrays needed a `truncated:`
    section.  That's fine if the arrays have a length, but not if their
    length extends to the end of the structure: such arrays can't be
    truncated.
    
    This time I also add a test to make sure change works.
---
 lib/trunnel/CodeGen.py           | 3 ++-
 test/valid/end_of_struct.trunnel | 4 ++++
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/lib/trunnel/CodeGen.py b/lib/trunnel/CodeGen.py
index e7ad11c..f7a8ca3 100644
--- a/lib/trunnel/CodeGen.py
+++ b/lib/trunnel/CodeGen.py
@@ -2632,7 +2632,8 @@ class ParseFnGenerator(CodeGenerator):
 
             elt = "obj->%s.elts_" % sva.c_name
 
-            self.needLabels.add(self.truncatedLabel)
+            if sva.widthfield != None:
+                self.needLabels.add(self.truncatedLabel)
 
             if str(sva.basetype) == 'char':
                 tp = "char"
diff --git a/test/valid/end_of_struct.trunnel b/test/valid/end_of_struct.trunnel
new file mode 100644
index 0000000..4c5e7b3
--- /dev/null
+++ b/test/valid/end_of_struct.trunnel
@@ -0,0 +1,4 @@
+
+struct simple_body {
+   u8 body[];
+}
\ No newline at end of file

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the tor-commits mailing list