Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Sanitizing All* The Things
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Greg Heo
September 12, 2017
Technology
65
0
Share
Sanitizing All* The Things
Address sanitizer and thread sanitizer. What, why, how?
Greg Heo
September 12, 2017
More Decks by Greg Heo
See All by Greg Heo
Concurrency From the Ground Up
gregheo
0
240
The least you need to know about hashing in Swift
gregheo
0
180
Shared Mutable State
gregheo
0
530
Promises, Futures, and the Shape of Your Code
gregheo
0
68
Shared, Exclusive, Mutable, Immutable
gregheo
0
150
Getting Under Swift’s Skin
gregheo
0
550
Sanitizing Threads for Fun & Profit
gregheo
0
160
Thirteen Ways of Looking at a View Controller
gregheo
0
130
Five Unbelievable Secrets of Reactive Programming the Experts Don't Want You to Know!
gregheo
3
420
Other Decks in Technology
See All in Technology
不確実性と戦いながら見積もりを作成するプロセス/mitsumori-process
hirodragon112
1
150
Oracle Cloud Infrastructure:2026年3月度サービス・アップデート
oracle4engineer
PRO
0
220
SaaSに宿る21g
kanyamaguc
2
180
Even G2 クイックスタートガイド(日本語版)
vrshinobi1
0
160
自分をひらくと次のチャレンジの敷居が下がる
sudoakiy
2
750
Amazon Qはアマコネで頑張っています〜 Amazon Q in Connectについて〜
yama3133
1
160
JEDAI認定プログラム JEDAI Order 2026 受賞者一覧 / JEDAI Order 2026 Winners
databricksjapan
0
410
AI時代のオンプレ-クラウドキャリアチェンジ考
yuu0w0yuu
0
660
MCPで決済に楽にする
mu7889yoon
0
160
VSCode中心だった自分がターミナル沼に入門した話
sanogemaru
0
860
TUNA Camp 2026 京都Stage ヒューリスティックアルゴリズム入門
terryu16
0
640
AIにより大幅に強化された AWS Transform Customを触ってみる
0air
0
210
Featured
See All Featured
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
130
Rails Girls Zürich Keynote
gr2m
96
14k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
250
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.9k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
500
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
400
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
The Cult of Friendly URLs
andyhume
79
6.8k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
420
Darren the Foodie - Storyboard
khoart
PRO
3
3.1k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
Transcript
Sanitizing All* The Things tacow / September 2017 / @gregheo
❓ ✋
None
✅
None
‣ ASAN ‣ TSAN
‣ What? ‣ So what? ‣ How? ‣ Show me?
Address Sanitizer allocated buffer unallocated!
‣ Buffer overflows ‣ Subtle bugs ‣ Security vulnerabilities
None
allocated buffer padding shadow memory poisoned poisoned OK
asan_malloc malloc asan_free free Shadow memory check Pointer access
Live Coding!
Address Sanitizer Memory corruption & errors Security & crashes Custom
malloc & free
Thread Sanitizer memory buffer read write
‣ Race conditions ‣ Very subtle and difficult-to-reproduce bugs ‣
Thread mismatch errors
None
‣ Thread ID ‣ Timestamp ‣ Read or write? ‣
Bytes accessed
None
Live Coding!
Thread Sanitizer Data race detector Find race conditions & thread
issues Thread IDs & timestamps
Address Sanitizer Memory corruption & errors Security & crashes Custom
malloc & free
None
@gregheo