• CWE-761: Free of Pointer not at Start of Buffer

Das Produkt ruft free() auf einen Pointer auf eine Speicherressource, die im Heap allokiert wurde, wobei der Pointer jedoch nicht am Anfang des Buffers liegt.

CWE-761: Free of Pointer not at Start of Buffer

CWE ID: 761
Name: Free of Pointer not at Start of Buffer

Beschreibung

Das Produkt ruft free() auf einen Pointer auf eine Speicherressource, die im Heap allokiert wurde, wobei der Pointer jedoch nicht am Anfang des Buffers liegt.

Risikominderungsmaßnahmen

Maßnahme (Implementation)

Effektivität: Unknown
Beschreibung: Bei der Verwendung von Pointer-Arithmetik zur Durchquerung eines Buffers sollte ein separates Variable verwendet werden, um den Fortschritt im Speicher zu verfolgen und die ursprünglich allokierte Adresse für die spätere Freigabe zu erhalten.

Maßnahme (Implementation)

Effektivität: Unknown
Beschreibung: Beim Programmieren in C++ sollte man die von der Boost-Bibliothek bereitgestellten Smart Pointers in Betracht ziehen, um eine korrekte und konsistente Memory Management zu gewährleisten.

Maßnahme (Architecture and Design)

Effektivität: Unknown
Beschreibung: Nutzen Sie eine Programmiersprache, die Abstraktionen für die Speicherallokation und -freigabe bereitstellt.

Maßnahme (Testing)

Effektivität: Unknown
Beschreibung: Nutzen Sie ein Werkzeug zur dynamischen Erkennung von Speicherverwaltungsproblemen, wie beispielsweise Valgrind.