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);