| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
(use of return instead of continue), wording.
llvm-svn: 150215
|
|
|
|
| |
llvm-svn: 150172
|
|
|
|
| |
llvm-svn: 150158
|
|
|
|
|
|
|
| |
Very simple so far - we just highlight every allocation and release
site.
llvm-svn: 150156
|
|
|
|
| |
llvm-svn: 150155
|
|
|
|
|
|
|
|
|
|
|
|
| |
which allows values to escape through unknown calls.
Assumes all calls but the malloc family are unknown.
Also, catch a use-after-free when a pointer is passed to a
function after a call to free (previously, you had to explicitly
dereference the pointer value).
llvm-svn: 150112
|
|
|
|
|
|
|
|
|
|
|
|
| |
optimistic.
TODO: actually implement the pessimistic version of the checker. Ex: it
needs to assume that any function that takes a pointer might free it.
The optimistic version relies on annotations to tell us which functions
can free the pointer.
llvm-svn: 150111
|
|
|
|
|
|
|
|
|
| |
post visit of CallExpr.
In general, we should avoid using evalCall as it leads to interference
with other checkers.
llvm-svn: 150086
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
operator overloads out of line.
This seems to negatively affect compile time onsome ObjC tests
(which use a lot of partial diagnostics I assume). I have to come
up with a way to keep them inline without including Diagnostic.h
everywhere. Now adding a new diagnostic requires a full rebuild
of e.g. the static analyzer which doesn't even use those diagnostics.
This reverts commit 6496bd10dc3a6d5e3266348f08b6e35f8184bc99.
This reverts commit 7af19b817ba964ac560b50c1ed6183235f699789.
This reverts commit fdd15602a42bbe26185978ef1e17019f6d969aa7.
This reverts commit 00bd44d5677783527d7517c1ffe45e4d75a0f56f.
This reverts commit ef9b60ffed980864a8db26ad30344be429e58ff5.
llvm-svn: 150006
|
|
|
|
| |
llvm-svn: 149982
|
|
|
|
|
|
| |
consistency with NamedDecls.
llvm-svn: 149981
|
|
|
|
|
|
| |
separately.
llvm-svn: 149947
|
|
|
|
| |
llvm-svn: 149939
|
|
|
|
|
|
|
| |
(I was going to fix the TODO about DenseMap too, but
that would break self-host right now. See PR11922.)
llvm-svn: 149799
|
|
|
|
| |
llvm-svn: 149798
|
|
|
|
|
|
|
|
| |
include.
Fix all the transitive include users.
llvm-svn: 149783
|
|
|
|
|
|
|
|
|
| |
of Diagnostic.h.
Fix all the files that depended on transitive includes of Diagnostic.h.
With this patch in place changing a diagnostic no longer requires a full rebuild of the StaticAnalyzer.
llvm-svn: 149781
|
|
|
|
|
|
| |
undefined arguments, when CF functions are called with wrong number of arguments.
llvm-svn: 149771
|
|
|
|
|
|
|
| |
- osx.coreFoundation.containers.IndexOutOfBounds
- osx.cocoa.SelfInit
llvm-svn: 149747
|
|
|
|
|
|
| |
(Also renames in other ObjC checkers to create one category of checks.)
llvm-svn: 149745
|
|
|
|
|
|
|
|
|
|
| |
the the code like this (due to x and &x being the same value but
different size):
void* x[] = { ptr1, ptr2, ptr3 };
CFArrayCreate(NULL, (const void **) &x, count, NULL);
llvm-svn: 149579
|
|
|
|
|
|
|
| |
Check if the triple OS is IOS instead of checking for arm/thumb architectures
and check that before calling isMacOSXVersionLT.
llvm-svn: 149454
|
|
|
|
|
|
|
| |
(Since this is syntax only, might be a good candidate for turning into a
compiler warning.)
llvm-svn: 149407
|
|
|
|
|
|
| |
replacements for 'starcat/strcpy' instead of 'strncat/strncpy'.
llvm-svn: 149406
|
|
|
|
| |
llvm-svn: 149319
|
|
|
|
|
|
| |
from the driver.
llvm-svn: 149276
|
|
|
|
| |
llvm-svn: 149258
|
|
|
|
| |
llvm-svn: 149228
|
|
|
|
|
|
| |
that don't care about the language don't have to pull in all the headers.
llvm-svn: 149178
|
|
|
|
|
|
|
|
| |
At this point this is largely cosmetic, but it opens the door to replace
ProgramStateRef with a smart pointer that more eagerly acts in the role
of reclaiming unused ProgramState objects.
llvm-svn: 149081
|
|
|
|
| |
llvm-svn: 149009
|
|
|
|
|
|
|
|
|
|
|
| |
using CFArrayCreate & family.
Specifically, CFArrayCreate's input should be:
'A C array of the pointer-sized values to be in the new array.'
(radar://10717339)
llvm-svn: 149008
|
|
|
|
| |
llvm-svn: 148844
|
|
|
|
|
|
| |
Loc value. When this happens, use the default type.
llvm-svn: 148631
|
|
|
|
|
|
| |
Also, slightly modify the diagnostic message in ArrayBound and DivZero (still use 'taint', which might not mean much to the user, but plan on changing it later).
llvm-svn: 148626
|
|
|
|
| |
llvm-svn: 148577
|
|
|
|
| |
llvm-svn: 148566
|
|
|
|
|
|
| |
IdempotentOperationsChecker to the 'experimental' category. Fixes <rdar://problem/10146347>.
llvm-svn: 148533
|
|
|
|
|
|
| |
fewer than 6 Xs. Implements <rdar://problem/6336672>.
llvm-svn: 148531
|
|
|
|
|
|
|
|
|
| |
APIs. Now
multiple checks are exposed as separate checkers, but CheckerManager only creates
one Checker object.
llvm-svn: 148525
|
|
|
|
| |
llvm-svn: 148518
|
|
|
|
|
|
|
|
|
| |
TaintPropagationRule::process().
Also remove the "should be a pointer argument" warning - should be
handled elsewhere.
llvm-svn: 148372
|
|
|
|
|
|
|
|
|
|
| |
size (Ex: in malloc, memcpy, strncpy..)
(Maybe some of this could migrate to the CString checker. One issue
with that is that we might want to separate security issues from
regular API misuse.)
llvm-svn: 148371
|
|
|
|
|
|
| |
functions.
llvm-svn: 148370
|
|
|
|
|
|
| |
appropriate or when GCC requires it)
llvm-svn: 148292
|
|
|
|
|
|
| |
This allows -Wswitch-enum to find switches that need updating when these enums are modified.
llvm-svn: 148281
|
|
|
|
|
|
| |
taint propagation functions.
llvm-svn: 148266
|
|
|
|
|
|
| |
data.
llvm-svn: 148176
|
|
|
|
| |
llvm-svn: 148080
|
|
|
|
|
|
| |
+ all the other Retrieve..() methods + a comment for ElementRegion.
llvm-svn: 148011
|