scanStatement analyzes a single statement for injection patterns.
(stmt ast.Statement, result *ScanResult)
| 647 | |
| 648 | // scanStatement analyzes a single statement for injection patterns. |
| 649 | func (s *Scanner) scanStatement(stmt ast.Statement, result *ScanResult) { |
| 650 | switch st := stmt.(type) { |
| 651 | case *ast.SelectStatement: |
| 652 | s.scanSelectStatement(st, result) |
| 653 | case *ast.InsertStatement: |
| 654 | s.scanInsertStatement(st, result) |
| 655 | case *ast.UpdateStatement: |
| 656 | s.scanUpdateStatement(st, result) |
| 657 | case *ast.DeleteStatement: |
| 658 | s.scanDeleteStatement(st, result) |
| 659 | case *ast.SetOperation: |
| 660 | s.scanSetOperation(st, result) |
| 661 | } |
| 662 | } |
| 663 | |
| 664 | // scanSelectStatement analyzes SELECT for injection patterns. |
| 665 | func (s *Scanner) scanSelectStatement(stmt *ast.SelectStatement, result *ScanResult) { |
no test coverage detected