clang  6.0.0svn
Macros | Enumerations | Functions
UnixAPIChecker.cpp File Reference
#include "ClangSACheckers.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 474 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