A Practical Approach for Dynamic Taint Tracking with Control-flow Relationships