clang-tools 22.0.0git
clang::tidy::bugprone::NotNullTerminatedResultCheck Class Reference

Finds function calls where it is possible to cause a not null-terminated result. More...

#include <NotNullTerminatedResultCheck.h>

Inheritance diagram for clang::tidy::bugprone::NotNullTerminatedResultCheck:
[legend]

Public Member Functions

 NotNullTerminatedResultCheck (StringRef Name, ClangTidyContext *Context)
void storeOptions (ClangTidyOptions::OptionMap &Opts) override
void registerMatchers (ast_matchers::MatchFinder *Finder) override
void check (const ast_matchers::MatchFinder::MatchResult &Result) override
void registerPPCallbacks (const SourceManager &SM, Preprocessor *PP, Preprocessor *ModuleExpanderPP) override

Detailed Description

Finds function calls where it is possible to cause a not null-terminated result.

Usually the proper length of a string is 'strlen(src) + 1' or equal length of this expression, because the null terminator needs an extra space. Without the null terminator it can result in undefined behaviour when the string is read.

For the user-facing documentation see: https://clang.llvm.org/extra/clang-tidy/checks/bugprone/not-null-terminated-result.html

Definition at line 24 of file NotNullTerminatedResultCheck.h.

Constructor & Destructor Documentation

◆ NotNullTerminatedResultCheck()

clang::tidy::bugprone::NotNullTerminatedResultCheck::NotNullTerminatedResultCheck ( StringRef Name,
ClangTidyContext * Context )

Definition at line 499 of file NotNullTerminatedResultCheck.cpp.

Member Function Documentation

◆ check()

void clang::tidy::bugprone::NotNullTerminatedResultCheck::check ( const ast_matchers::MatchFinder::MatchResult & Result)
override

◆ registerMatchers()

◆ registerPPCallbacks()

void clang::tidy::bugprone::NotNullTerminatedResultCheck::registerPPCallbacks ( const SourceManager & SM,
Preprocessor * PP,
Preprocessor * ModuleExpanderPP )
override

Definition at line 509 of file NotNullTerminatedResultCheck.cpp.

References clang::tidy::bugprone::PP.

◆ storeOptions()

void clang::tidy::bugprone::NotNullTerminatedResultCheck::storeOptions ( ClangTidyOptions::OptionMap & Opts)
override

Definition at line 504 of file NotNullTerminatedResultCheck.cpp.


The documentation for this class was generated from the following files: