Using block.timestamp as the deadline (or no deadline) lets a transaction sit in the mempool and execute much later at an unfavorable price.
require(block.timestamp <= deadline, "expired"); router.swap(..., to, deadline);
The SaferICO scanner runs 201 detectors over your Solidity source, SAFE-0059 among them. Paste an address or the source itself — a small per-scan fee, shown before you sign, or unlimited on any plan.