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
20260428_Product Management Summit_tadokoroyoshiro
tadokoro_yoshiro
1
400
No Types Needed, Just Callable Method Check
dak2
1
1.3k
ぼくがかんがえたさいきょうのあうとぷっと
yama3133
0
190
AgentCore×VPCでの設計パターンn選と勘所
har1101
3
280
The Journey of Box Building
tagomoris
4
2.9k
Do Ruby::Box dream of Modular Monolith?
joker1007
1
350
EarthCopilotに学ぶマルチエージェントオーケストレーション
nakasho
0
300
みんなで作るAWS Tips 100連発 (FinOps編)
schwrzktz
1
300
AIを共同作業者にして書籍を執筆する方法 / How to Write a Book with AI as a Co-Creator
ama_ch
2
130
QGISプラグイン CMChangeDetector
naokimuroki
1
410
AzureのIaC管理からログ調査まで、随所に役立つSkillsとCustom-Instructions / Boosting IaC and Log Analysis with Skills
aeonpeople
0
240
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
320
Featured
See All Featured
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.6k
Navigating Weather and Climate Data
rabernat
0
170
The Cult of Friendly URLs
andyhume
79
6.8k
Designing for Timeless Needs
cassininazir
0
200
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
260
Optimizing for Happiness
mojombo
378
71k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.7k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
130
A designer walks into a library…
pauljervisheath
211
24k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
190
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
320
Prompt Engineering for Job Search
mfonobong
0
270
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