llvm-toolchain/debian/patches/23-strlcpy_strlcat_warning_removed.diff
2013-01-10 16:41:04 +00:00

81 lines
3.8 KiB
Diff

Index: clang-3.2~rc1/tools/clang/include/clang/Basic/Builtins.def
===================================================================
--- clang-3.2~rc1.orig/tools/clang/include/clang/Basic/Builtins.def 2012-11-13 21:13:57.000000000 +0100
+++ clang-3.2~rc1/tools/clang/include/clang/Basic/Builtins.def 2012-11-17 15:43:20.000000000 +0100
@@ -461,8 +461,8 @@
BUILTIN(__builtin___stpcpy_chk, "c*c*cC*z", "nF")
BUILTIN(__builtin___strcat_chk, "c*c*cC*z", "nF")
BUILTIN(__builtin___strcpy_chk, "c*c*cC*z", "nF")
-BUILTIN(__builtin___strlcat_chk, "c*c*cC*zz", "nF")
-BUILTIN(__builtin___strlcpy_chk, "c*c*cC*zz", "nF")
+//BUILTIN(__builtin___strlcat_chk, "c*c*cC*zz", "nF")
+//BUILTIN(__builtin___strlcpy_chk, "c*c*cC*zz", "nF")
BUILTIN(__builtin___strncat_chk, "c*c*cC*zz", "nF")
BUILTIN(__builtin___strncpy_chk, "c*c*cC*zz", "nF")
BUILTIN(__builtin___stpncpy_chk, "c*c*cC*zz", "nF")
@@ -755,8 +755,8 @@
LIBBUILTIN(_longjmp, "vJi", "fr", "setjmp.h", ALL_LANGUAGES)
LIBBUILTIN(siglongjmp, "vSJi", "fr", "setjmp.h", ALL_LANGUAGES)
// non-standard but very common
-LIBBUILTIN(strlcpy, "zc*cC*z", "f", "string.h", ALL_LANGUAGES)
-LIBBUILTIN(strlcat, "zc*cC*z", "f", "string.h", ALL_LANGUAGES)
+//LIBBUILTIN(strlcpy, "zc*cC*z", "f", "string.h", ALL_LANGUAGES)
+//LIBBUILTIN(strlcat, "zc*cC*z", "f", "string.h", ALL_LANGUAGES)
// id objc_msgSend(id, SEL, ...)
LIBBUILTIN(objc_msgSend, "GGH.", "f", "objc/message.h", OBJC_LANG)
Index: clang-3.2~rc1/tools/clang/lib/Sema/SemaChecking.cpp
===================================================================
--- clang-3.2~rc1.orig/tools/clang/lib/Sema/SemaChecking.cpp 2012-11-13 21:13:57.000000000 +0100
+++ clang-3.2~rc1/tools/clang/lib/Sema/SemaChecking.cpp 2012-11-17 15:43:20.000000000 +0100
@@ -576,9 +576,10 @@
return false;
// Handle memory setting and copying functions.
- if (CMId == Builtin::BIstrlcpy || CMId == Builtin::BIstrlcat)
- CheckStrlcpycatArguments(TheCall, FnInfo);
- else if (CMId == Builtin::BIstrncat)
+// if (CMId == Builtin::BIstrlcpy || CMId == Builtin::BIstrlcat)
+// CheckStrlcpycatArguments(TheCall, FnInfo);
+// else
+ if (CMId == Builtin::BIstrncat)
CheckStrncatArguments(TheCall, FnInfo);
else
CheckMemaccessArguments(TheCall, CMId, FnInfo);
Index: clang-3.2~rc1/tools/clang/lib/AST/Decl.cpp
===================================================================
--- clang-3.2~rc1.orig/tools/clang/lib/AST/Decl.cpp 2012-11-13 21:13:57.000000000 +0100
+++ clang-3.2~rc1/tools/clang/lib/AST/Decl.cpp 2012-11-17 15:43:20.000000000 +0100
@@ -2394,10 +2394,10 @@
case Builtin::BImemmove:
return Builtin::BImemmove;
- case Builtin::BIstrlcpy:
- return Builtin::BIstrlcpy;
- case Builtin::BIstrlcat:
- return Builtin::BIstrlcat;
+// case Builtin::BIstrlcpy:
+// return Builtin::BIstrlcpy;
+// case Builtin::BIstrlcat:
+// return Builtin::BIstrlcat;
case Builtin::BI__builtin_memcmp:
case Builtin::BImemcmp:
Index: clang-3.2~rc1/tools/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
===================================================================
--- clang-3.2~rc1.orig/tools/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp 2012-11-13 21:13:57.000000000 +0100
+++ clang-3.2~rc1/tools/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp 2012-11-17 15:43:20.000000000 +0100
@@ -237,9 +237,9 @@
case Builtin::BIstrncpy:
case Builtin::BIstrncat:
return TaintPropagationRule(1, 2, 0, true);
- case Builtin::BIstrlcpy:
- case Builtin::BIstrlcat:
- return TaintPropagationRule(1, 2, 0, false);
+// case Builtin::BIstrlcpy:
+// case Builtin::BIstrlcat:
+// return TaintPropagationRule(1, 2, 0, false);
case Builtin::BIstrndup:
return TaintPropagationRule(0, 1, ReturnValueIndex);