mirror of
https://github.com/github/codeql.git
synced 2026-04-24 16:25:15 +02:00
C++: Add 'cpp/iterator-to-expired-container' FP.
This commit is contained in:
@@ -3,3 +3,4 @@
|
||||
| test.cpp:702:27:702:27 | call to operator[] | This object is destroyed at the end of the full-expression. |
|
||||
| test.cpp:727:23:727:23 | call to operator[] | This object is destroyed at the end of the full-expression. |
|
||||
| test.cpp:735:23:735:23 | call to operator[] | This object is destroyed at the end of the full-expression. |
|
||||
| test.cpp:857:3:857:17 | pointer to ~PlusPlusReturnByValueIterator output argument | This object is destroyed at the end of the full-expression. |
|
||||
|
||||
@@ -828,3 +828,33 @@ void test6()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
struct PlusPlusReturnByValueIterator
|
||||
{
|
||||
using value_type = int;
|
||||
using difference_type = std::ptrdiff_t;
|
||||
using pointer = int *;
|
||||
using reference = int &;
|
||||
using iterator_category = std::forward_iterator_tag;
|
||||
|
||||
PlusPlusReturnByValueIterator();
|
||||
PlusPlusReturnByValueIterator(PlusPlusReturnByValueIterator const &);
|
||||
|
||||
PlusPlusReturnByValueIterator operator++();
|
||||
bool operator==(PlusPlusReturnByValueIterator other) const;
|
||||
bool operator!=(PlusPlusReturnByValueIterator other) const;
|
||||
reference operator*() const;
|
||||
pointer operator->() const;
|
||||
|
||||
~PlusPlusReturnByValueIterator();
|
||||
|
||||
PlusPlusReturnByValueIterator begin();
|
||||
};
|
||||
|
||||
void test7()
|
||||
{
|
||||
PlusPlusReturnByValueIterator it;
|
||||
it.operator++(); // GOOD [FALSE POSITIVE]
|
||||
|
||||
it.begin();
|
||||
}
|
||||
Reference in New Issue
Block a user