fix(fuzz): restore proper ErrRuleNotApplicable error handling

Fixes fuzzing regression introduced in commit 6a6fa4d3 where
fmt.Errorf was incorrectly used instead of fuzz.ErrRuleNotApplicable.

The issue caused pre-condition filters (like 'method == GET') to fail
because the error type detection was broken. This led to legitimate
fuzzing targets being incorrectly marked as 'not applicable for fuzzing'.

Changes:
- Restore fuzz.ErrRuleNotApplicable() call in executeAllFuzzingRules()
- Ensures proper error type checking with fuzz.IsErrRuleNotApplicable()
- Fixes path-based SQL injection fuzzing and other fuzz templates

Tested with: integration_tests/fuzz/fuzz-path-sqli.yaml
This commit is contained in:
PDTeamX 2025-08-20 05:48:13 +05:30
parent b4644af80a
commit 42e884c19d

View File

@ -168,7 +168,7 @@ func (request *Request) executeAllFuzzingRules(input *contextargs.Context, value
}
if !applicable {
return fmt.Errorf("no rule was applicable for this request: %v", input.MetaInput.Input)
return fuzz.ErrRuleNotApplicable(fmt.Sprintf("no rule was applicable for this request: %v", input.MetaInput.Input))
}
return nil