CodeQL library for C/C++
codeql/cpp-all 0.3.3 (changelog, source)
Search

Module Buffer

Import path

import semmle.code.cpp.commons.Buffer

Imports

DataFlow

Provides a library for local (intra-procedural) and global (inter-procedural) data flow analysis: deciding whether data can flow from a source to a sink.

cpp

Provides classes and predicates for working with C/C++ code.

Predicates

getBufferSize

Get the size in bytes of the buffer pointed to by an expression (if this can be determined).

memberMayBeVarSize

Holds if v is a member variable of c that looks like it might be variable sized in practice. For example: struct myStruct { // c int amount; char data[1]; // v }; or struct myStruct { // c int amount; char data[]; // v }; This requires that v is an array of size 0 or 1, or that the array has no size.