diff --git a/credsweeper/scanner/scan_type/scan_type.py b/credsweeper/scanner/scan_type/scan_type.py index 1d29e3aab..8a95df687 100644 --- a/credsweeper/scanner/scan_type/scan_type.py +++ b/credsweeper/scanner/scan_type/scan_type.py @@ -114,16 +114,14 @@ def get_line_data_list( bypass_end = offset_end if config.use_filters and cls.filtering(config, target, line_data, filters): - if 0 < line_data.variable_end: + if line_data.variable and 0 <= line_data.variable_start < line_data.variable_end: # may be next matched item will be not filtered - let search it after variable bypass_start = line_data.variable_end bypass_end = offset_end - # offsets.add((line_data.variable_end, offset_end)) - elif 0 < line_data.value_end: + elif line_data.value and 0 <= line_data.value_start < line_data.value_end: # may be next matched item will be not filtered - let search it after variable bypass_start = line_data.value_end bypass_end = offset_end - # offsets.add((line_data.value_end, offset_end)) continue if target.offset is not None: diff --git a/tests/samples/key_value.json b/tests/samples/key_value.json index d0eeb0e2f..34bc7d835 100644 --- a/tests/samples/key_value.json +++ b/tests/samples/key_value.json @@ -7,5 +7,7 @@ "pass_mask32": "0x31c45018", "pass_mask64": "0x81103c1452dd61cd", "dummy": 0 - } + }, + "comment": "failure case below", + "≋": { "checkpkoint": [4931], "symbolsist": "\u224B" } }