text.skipToContent text.skipToNavigation
  1. Home
  2. Computer Science & IT
  3. Secure Coding in C and C++

Secure Coding in C and C++, 2nd edition

  • Robert C. Seacord

Published by Addison-Wesley Professional (April 2nd 2013) - Copyright © 2013

2nd edition

Chosen format
View all
Secure Coding in C and C++

ISBN-13: 9780132981958

Includes: Instant Access

This product is not available in your country

What's included

  • Instant Access

    You'll get instant access to the digital content.

Overview

Table of contents

Foreword         xvii

Preface         xxi

Acknowledgments         xxv

About the Author         xxvii

 

Chapter 1: Running with Scissors         1

1.1 Gauging the Threat   5

1.2 Security Concepts   12

1.3 C and C++   17

1.4 Development Platforms   25

1.5 Summary   27

1.6 Further Reading   28

 

Chapter 2: Strings         29

2.1 Character Strings   29

2.2 Common String Manipulation Errors   42

2.3 String Vulnerabilities and Exploits   50

2.4 Mitigation Strategies for Strings   72

2.5 String-Handling Functions   84

2.6 Runtime Protection Strategies   101

2.7 Notable Vulnerabilities   117

2.8 Summary   118

2.9 Further Reading   120

 

Chapter 3: Pointer Subterfuge         121

3.1 Data Locations   122

3.2 Function Pointers   123

3.3 Object Pointers   124

3.4 Modifying the Instruction Pointer   125

3.5 Global Offset Table   127

3.6 The .dtorsSection   129

3.7 Virtual Pointers   131

3.8 The atexit()and on_exit()Functions   133

3.9 The longjmp()Function   134

3.10 Exception Handling   136

3.11 Mitigation Strategies   139

3.12 Summary   142

3.13 Further Reading   143

 

Chapter 4: Dynamic Memory Management         145

4.1 C Memory Management   146

4.2 Common C Memory Management Errors   151

4.3 C++ Dynamic Memory Management   162

4.4 Common C++ Memory Management Errors   172

4.5 Memory Managers   180

4.6 Doug Lea’s Memory Allocator   182

4.7 Double-Free Vulnerabilities   191

4.8 Mitigation Strategies   212

4.9 Notable Vulnerabilities   222

4.10 Summary   224

 

Chapter 5: Integer Security         225

5.1 Introduction to Integer Security   225

5.2 Integer Data Types   226

5.3 Integer Conversions &nbs

For teachers

All the material you need to teach your courses.

Discover teaching material