code: def validate(self, r):
          '''
          Called automatically by self.result.
          '''
          if self.show_invalid:
              r.valid = True
          elif r.valid:
              if not r.description:
                  r.valid = False
  
              if r.size and (r.size + r.offset) > r.file.size:
                  r.valid = False
  
              if r.jump and (r.jump + r.offset) > r.file.size:
                  r.valid = False
  
              if hasattr(r, "location") and (r.location != r.offset):
                  r.valid = False
  
          if r.valid:
              # Don't keep displaying signatures that repeat a bunch of times
              # (e.g., JFFS2 nodes)
              if r.id == self.one_of_many:
                  r.display = False
              elif r.many:
                  self.one_of_many = r.id
              else:
                  self.one_of_many = Nonf validate(self, r):
          '''
          Called automatically by self.result.
          '''
          if self.show_invalid:
              r.valid = True
          elif r.valid:
              if not r.description:
                  r.valid = False
  
              if r.size and (r.size + r.offset) > r.file.size:
                  r.valid = False
  
              if r.jump and (r.jump + r.offset) > r.file.size:
                  r.valid = False
  
              if hasattr(r, "location") and (r.location != r.offset):
                  r.valid = False
  
          if r.valid:
              # Don't keep displaying signatures that repeat a bunch of times
              # (e.g., JFFS2 nodes)
              if r.id == self.one_of_many:
                  r.display = False
              elif r.many:
                  self.one_of_many = r.id
              else:
                  self.one_of_many = None
docs: Called automatically by self.result.