Commit 98bd3b0e by devttys0

Fixed bug where result validation was checked before result was completely validated.

parent 718d0aa9
...@@ -99,6 +99,8 @@ class Signature(Module): ...@@ -99,6 +99,8 @@ class Signature(Module):
if r.jump and (r.jump + r.offset) > r.file.size: if r.jump and (r.jump + r.offset) > r.file.size:
r.valid = False r.valid = False
r.valid = self.config.filter.valid_result(r.description)
def scan_file(self, fp): def scan_file(self, fp):
current_file_offset = 0 current_file_offset = 0
...@@ -128,7 +130,6 @@ class Signature(Module): ...@@ -128,7 +130,6 @@ class Signature(Module):
# The smart filter parser returns a binwalk.core.module.Result object # The smart filter parser returns a binwalk.core.module.Result object
r = self.smart.parse(magic_result) r = self.smart.parse(magic_result)
if self.config.filter.valid_result(r.description):
# Set the absolute offset inside the target file # Set the absolute offset inside the target file
r.offset = block_start + candidate_offset + r.adjust r.offset = block_start + candidate_offset + r.adjust
...@@ -137,6 +138,7 @@ class Signature(Module): ...@@ -137,6 +138,7 @@ class Signature(Module):
r.file = fp r.file = fp
# Register the result for futher processing/display # Register the result for futher processing/display
# self.result automatically calls self.validate for result validation
self.result(r=r) self.result(r=r)
# Is this a valid result and did it specify a jump-to-offset keyword? # Is this a valid result and did it specify a jump-to-offset keyword?
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment