[PATCH] D47135: [analyzer][WIP] A checker for dangling string pointers in C++

2018-05-22 Thread Artem Dergachev via Phabricator via cfe-commits
NoQ added a comment. We'll have to track `string_view` ourselves, not relying on `MallocChecker`. So we only need an `AF_` for the pointer case. `DanglingInternalBufferChecker` and `AF_InternalBuffer` sound great to me. Repository: rC Clang https://reviews.llvm.org/D47135

[PATCH] D47135: [analyzer][WIP] A checker for dangling string pointers in C++

2018-05-22 Thread Reka Kovacs via Phabricator via cfe-commits
rnkovacs added a comment. Thanks for your comments! It would be nice if we could reach a consensus on the naming issue before I update the patch. I was wondering, as we plan to support stuff like `std::vector::data()`, which is not a string, and `std::string_view`, which is not strictly a

[PATCH] D47135: [analyzer][WIP] A checker for dangling string pointers in C++

2018-05-21 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added inline comments. Comment at: lib/StaticAnalyzer/Checkers/DanglingStringPointerChecker.cpp:29 + +class DanglingStringPointerChecker : public Checker { + CallDescription CStrFn; george.karpenkov wrote: > "string" is a bit ambiguous, if this checker

[PATCH] D47135: [analyzer][WIP] A checker for dangling string pointers in C++

2018-05-21 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added inline comments. Comment at: lib/StaticAnalyzer/Checkers/DanglingStringPointerChecker.cpp:29 + +class DanglingStringPointerChecker : public Checker { + CallDescription CStrFn; "string" is a bit ambiguous, if this checker is specifically

[PATCH] D47135: [analyzer][WIP] A checker for dangling string pointers in C++

2018-05-21 Thread Artem Dergachev via Phabricator via cfe-commits
NoQ added a comment. This looks great, i think we should make a single super simple mock test and commit this. @MTC, i really appreciate your help! Comment at: lib/StaticAnalyzer/Checkers/DanglingStringPointerChecker.cpp:59 + QualType RegType = TypedR->getValueType(); + if

[PATCH] D47135: [analyzer][WIP] A checker for dangling string pointers in C++

2018-05-21 Thread Reka Kovacs via Phabricator via cfe-commits
rnkovacs added a comment. Adding a preliminary test file. F6259981: tests.cpp Repository: rC Clang https://reviews.llvm.org/D47135 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D47135: [analyzer][WIP] A checker for dangling string pointers in C++

2018-05-21 Thread Henry Wong via Phabricator via cfe-commits
MTC added inline comments. Comment at: lib/StaticAnalyzer/Checkers/DanglingStringPointerChecker.cpp:59 + QualType RegType = TypedR->getValueType(); + if (RegType.getAsString() != "std::string") +return; A little tip, there are other string types besides

[PATCH] D47135: [analyzer][WIP] A checker for dangling string pointers in C++

2018-05-21 Thread Reka Kovacs via Phabricator via cfe-commits
rnkovacs created this revision. rnkovacs added reviewers: NoQ, xazax.hun, george.karpenkov. Herald added subscribers: a.sidorin, dkrupp, szepet, baloghadamsoftware, whisperity, mgorny. This check marks a raw pointer to a C++ string object's inner buffer "released" when the object itself is