clang 8.0.0

Macros | Enumerations | Functions
UnixAPIChecker.cpp File Reference
`#include "clang/StaticAnalyzer/Checkers/BuiltinCheckerRegistration.h"`
`#include "clang/Basic/TargetInfo.h"`
`#include "clang/StaticAnalyzer/Core/BugReporter/BugType.h"`
`#include "clang/StaticAnalyzer/Core/Checker.h"`
`#include "clang/StaticAnalyzer/Core/CheckerManager.h"`
`#include "clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h"`
`#include "llvm/ADT/Optional.h"`
`#include "llvm/ADT/STLExtras.h"`
`#include "llvm/ADT/SmallString.h"`
`#include "llvm/ADT/StringExtras.h"`
`#include "llvm/ADT/StringSwitch.h"`
`#include "llvm/Support/raw_ostream.h"`
`#include <fcntl.h>`
Include dependency graph for UnixAPIChecker.cpp:

Go to the source code of this file.

## Macros
#define | REGISTER_CHECKER(Name)

## Enumerations
enum | OpenVariant { OpenVariant::Open, OpenVariant::OpenAt }

## Functions
static bool | IsZeroByteAllocation (ProgramStateRef state, const SVal argVal, ProgramStateRef *trueState, ProgramStateRef *falseState)

## Macro Definition Documentation

## ◆ REGISTER_CHECKER

#define REGISTER_CHECKER | ( |  | Name | ) |

Value:
void ento::registerUnixAPI##Name##Checker(CheckerManager &mgr) { \
mgr.registerChecker<UnixAPIChecker>()->Check##Name = true; \
}

Definition at line 473 of file UnixAPIChecker.cpp.

## Enumeration Type Documentation

## ◆ OpenVariant

enum OpenVariant
| strong

Enumerator
Open | The standard open() call: int open(const char *path, int oflag, ...);.
OpenAt | The variant taking a directory file descriptor and a relative path: int openat(int fd, const char *path, int oflag, ...);.

Definition at line 32 of file UnixAPIChecker.cpp.

## Function Documentation

## ◆ IsZeroByteAllocation()

static bool IsZeroByteAllocation | ( | ProgramStateRef | state,
|  | const SVal | argVal,
|  | ProgramStateRef * | trueState,
|  | ProgramStateRef * | falseState
| ) |  |
| static

Definition at line 287 of file UnixAPIChecker.cpp.