dgryski.semgrep-go.mathbits.use-math-bits

profile photo of dgryskidgryski
Author
581
Download Count*
License

Try using math/bits instead

Run Locally

Run in CI

Defintion

rules:
  - id: use-math-bits
    patterns:
      - pattern-either:
          - pattern: $X >> $N | $X << (8 - $N)
          - pattern: $X << $N | $X >> (8 - $N)
          - pattern: $X >> (8 - $N) | $X << $N
          - pattern: $X << (8 - $N) | $X >> $N
          - pattern: $X >> $N | $X << (16 - $N)
          - pattern: $X << $N | $X >> (16 - $N)
          - pattern: $X >> (16 - $N) | $X << $N
          - pattern: $X << (16 - $N) | $X >> $N
          - pattern: $X >> $N | $X << (32 - $N)
          - pattern: $X << $N | $X >> (32 - $N)
          - pattern: $X >> (32 - $N) | $X << $N
          - pattern: $X << (32 - $N) | $X >> $N
          - pattern: $X >> $N | $X << (64 - $N)
          - pattern: $X << $N | $X >> (64 - $N)
          - pattern: $X >> (64 - $N) | $X << $N
          - pattern: $X << (64 - $N) | $X >> $N
    message: Try using math/bits instead
    languages:
      - go
    severity: ERROR
    metadata:
      license: MIT