We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

fortification vs memcheck

Formal Metadata

Title
fortification vs memcheck
Subtitle
Making gcc/glibc fortification and valgrind memcheck work better together
Title of Series
Number of Parts
611
Author
License
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language
Production Year2017

Content Metadata

Subject Area
Genre
Abstract
gcc/glibc support fortification of some functions by defining _FORTIFY_SOURCE. This inserts some compile and runtime buffer overflow checks forselected glibc functions. These checks have no or very little runtime overheadand work on the object level (the compiler provides/proofs the size of theobject buffer size). valgrind memcheck provides similar memory buffer overflowchecks. These checks don't need any compiler help (you won't have to rebuildyour code). But they have a much higher runtime overhead. They also work on adifferent level. valgrind memcheck doesn't know anything about the objects theuser is manipulation but has knowledge of all memory blocks allocated. Letsexplore how these different mechanisms work and how we can make them workbetter together.