summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.h
diff options
context:
space:
mode:
authorJonas Toth <jonas.toth@gmail.com>2018-10-13 09:30:58 +0000
committerJonas Toth <jonas.toth@gmail.com>2018-10-13 09:30:58 +0000
commitcd3e37050460b4978216d25c126236e481ca9cc9 (patch)
tree5637b8a65fbbc7eebc4196bce9a30b49ea2dcef2 /clang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.h
parentbbbebeb928037500388a131100af9887a7e44c15 (diff)
downloadbcm5719-llvm-cd3e37050460b4978216d25c126236e481ca9cc9.tar.gz
bcm5719-llvm-cd3e37050460b4978216d25c126236e481ca9cc9.zip
Revert "[clang-tidy] New checker for not null-terminated result caused by strlen(), size() or equal length"
This reverts commit r344374. llvm-svn: 344442
Diffstat (limited to 'clang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.h')
-rw-r--r--clang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.h67
1 files changed, 0 insertions, 67 deletions
diff --git a/clang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.h b/clang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.h
deleted file mode 100644
index 762203e19c8..00000000000
--- a/clang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.h
+++ /dev/null
@@ -1,67 +0,0 @@
-//===--- NotNullTerminatedResultCheck.h - clang-tidy ------------*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_NOT_NULL_TERMINATED_RESULT_H
-#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_NOT_NULL_TERMINATED_RESULT_H
-
-#include "../ClangTidy.h"
-
-namespace clang {
-namespace tidy {
-namespace bugprone {
-
-/// 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:
-/// http://clang.llvm.org/extra/clang-tidy/checks/bugprone-not-null-terminated-result.html
-class NotNullTerminatedResultCheck : public ClangTidyCheck {
-public:
- 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(CompilerInstance &Compiler) override;
-
-private:
- // If non-zero it is specifying if the target environment is considered to
- // implement '_s' suffixed memory and string handler functions which are safer
- // than older version (e.g. 'memcpy_s()'). The default value is ``1``.
- const int WantToUseSafeFunctions;
-
- bool UseSafeFunctions = false;
-
- void memoryHandlerFunctionFix(
- StringRef Name, const ast_matchers::MatchFinder::MatchResult &Result);
- void memcpyFix(StringRef Name,
- const ast_matchers::MatchFinder::MatchResult &Result,
- DiagnosticBuilder &Diag);
- void memcpy_sFix(StringRef Name,
- const ast_matchers::MatchFinder::MatchResult &Result,
- DiagnosticBuilder &Diag);
- void memchrFix(StringRef Name,
- const ast_matchers::MatchFinder::MatchResult &Result);
- void memmoveFix(StringRef Name,
- const ast_matchers::MatchFinder::MatchResult &Result,
- DiagnosticBuilder &Diag);
- void strerror_sFix(const ast_matchers::MatchFinder::MatchResult &Result);
- void ncmpFix(StringRef Name,
- const ast_matchers::MatchFinder::MatchResult &Result);
- void xfrmFix(StringRef Name,
- const ast_matchers::MatchFinder::MatchResult &Result);
-};
-
-} // namespace bugprone
-} // namespace tidy
-} // namespace clang
-
-#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_NOT_NULL_TERMINATED_RESULT_H
OpenPOWER on IntegriCloud