Page MenuHomePhabricator

balazske (Balázs Kéri)
Engineering

Projects

User does not belong to any projects.

User Details

User Since
May 23 2018, 7:08 AM (125 w, 5 d)

Recent Activity

Tue, Oct 13

balazske updated the diff for D87449: [clang-tidy] Add new check for SEI CERT rule SIG30-C.

Removed C++ support.
Other small changes.

Tue, Oct 13, 5:14 AM · Restricted Project, Restricted Project

Sun, Oct 11

balazske added inline comments to D87449: [clang-tidy] Add new check for SEI CERT rule SIG30-C.
Sun, Oct 11, 11:44 PM · Restricted Project, Restricted Project

Fri, Oct 9

balazske added inline comments to D87449: [clang-tidy] Add new check for SEI CERT rule SIG30-C.
Fri, Oct 9, 8:46 AM · Restricted Project, Restricted Project
balazske added inline comments to D87449: [clang-tidy] Add new check for SEI CERT rule SIG30-C.
Fri, Oct 9, 2:13 AM · Restricted Project, Restricted Project

Tue, Oct 6

balazske added inline comments to D87449: [clang-tidy] Add new check for SEI CERT rule SIG30-C.
Tue, Oct 6, 12:54 AM · Restricted Project, Restricted Project

Fri, Oct 2

balazske added inline comments to D87449: [clang-tidy] Add new check for SEI CERT rule SIG30-C.
Fri, Oct 2, 8:55 AM · Restricted Project, Restricted Project
balazske updated the diff for D87449: [clang-tidy] Add new check for SEI CERT rule SIG30-C.

Updated check for system function.
Updated documentation.
Added more test cases.

Fri, Oct 2, 8:47 AM · Restricted Project, Restricted Project
balazske added inline comments to D87449: [clang-tidy] Add new check for SEI CERT rule SIG30-C.
Fri, Oct 2, 6:42 AM · Restricted Project, Restricted Project
balazske added a comment to D87449: [clang-tidy] Add new check for SEI CERT rule SIG30-C.

I plan to add the option for extended set of asynchronous-safe functions (defined by the POSIX list) in a next patch. There is other possible improvement to check at least something of the criteria listed here for C++17 .

Fri, Oct 2, 2:47 AM · Restricted Project, Restricted Project
balazske added inline comments to D87449: [clang-tidy] Add new check for SEI CERT rule SIG30-C.
Fri, Oct 2, 2:42 AM · Restricted Project, Restricted Project

Thu, Oct 1

balazske added inline comments to D87449: [clang-tidy] Add new check for SEI CERT rule SIG30-C.
Thu, Oct 1, 5:45 AM · Restricted Project, Restricted Project
balazske updated the diff for D87449: [clang-tidy] Add new check for SEI CERT rule SIG30-C.

Added support for C++ code.
Improved detection of 'signal' function.
Simplified collection of called functions.

Thu, Oct 1, 5:38 AM · Restricted Project, Restricted Project
balazske added a comment to D86743: [analyzer] Ignore VLASizeChecker case that could cause crash.

I do not know if it got overlooked but there is another patch D81061 that removes the crash.

Thu, Oct 1, 12:23 AM · Restricted Project

Tue, Sep 29

balazske added inline comments to D88359: [analyzer][RFC] Complete rewrite of ArrayBoundCheckerV2.
Tue, Sep 29, 8:27 AM · Restricted Project

Mon, Sep 28

balazske added a comment to D88312: "ErrorReturn checker" WIP review.

Results for 'duckdb': link

Mon, Sep 28, 2:47 AM · Restricted Project

Fri, Sep 25

balazske added a comment to D88312: "ErrorReturn checker" WIP review.

Here are the results with this checker on project 'emacs`.
Still more evaluation is needed.

Fri, Sep 25, 8:55 AM · Restricted Project
balazske added a comment to D72705: [analyzer] Added new checker 'alpha.unix.ErrorReturn'..

A improved version of the checker is added for further discussion (or should continue here?) and to show the improved checker code.
See D88312.

Fri, Sep 25, 8:52 AM · Restricted Project
balazske requested review of D88312: "ErrorReturn checker" WIP review.
Fri, Sep 25, 8:50 AM · Restricted Project

Wed, Sep 23

balazske added a comment to D87449: [clang-tidy] Add new check for SEI CERT rule SIG30-C.

Ping

Wed, Sep 23, 2:50 AM · Restricted Project, Restricted Project
balazske requested review of D88140: [clang-tidy] Check for sigaction in cert-sig30-c..
Wed, Sep 23, 2:43 AM · Restricted Project, Restricted Project

Sep 15 2020

balazske added a comment to D72705: [analyzer] Added new checker 'alpha.unix.ErrorReturn'..

I am not sure if this checker is worth to further development. A part of the found bugs can be detected with other checkers too, specially if the preconditions of many standard functions are checked (more than what is done now) and by modeling the function calls with assumed error return value. Some return codes does not cause invalid preconditions but then it is often enough to have any check for the returned value, or the problem can be found by the taint checker (this can be improved).

Sep 15 2020, 9:27 AM · Restricted Project
balazske added inline comments to D79432: [analyzer] StdLibraryFunctionsChecker: Add summaries for libc.
Sep 15 2020, 9:27 AM · Restricted Project
balazske accepted D87081: [analyzer][StdLibraryFunctionsChecker] Elaborate the summary of fread and fwrite.
Sep 15 2020, 2:55 AM · Restricted Project

Sep 14 2020

balazske added reviewers for D87449: [clang-tidy] Add new check for SEI CERT rule SIG30-C: gamesh411, baloghadamsoftware.
Sep 14 2020, 5:31 AM · Restricted Project, Restricted Project
balazske updated the diff for D87449: [clang-tidy] Add new check for SEI CERT rule SIG30-C.

Changed checker messages, reformatted text, rebase.

Sep 14 2020, 3:02 AM · Restricted Project, Restricted Project

Sep 11 2020

balazske updated the diff for D87449: [clang-tidy] Add new check for SEI CERT rule SIG30-C.

Added entry to release notes and fixed wrong comment in test headers.

Sep 11 2020, 8:59 AM · Restricted Project, Restricted Project
balazske accepted D87444: [ASTImporter] Add basic support for comparing Stmts and compare function bodies.

Probably it should be tested how this change affects CTU analysis (function body is checked now).

Sep 11 2020, 7:59 AM · Restricted Project
balazske added a comment to D87449: [clang-tidy] Add new check for SEI CERT rule SIG30-C.

It looks like that the clang-tidy/add_new_check.py script does not work correctly, at least it "corrupts" the list.rst file, and creates files with no newline at end.

Sep 11 2020, 1:36 AM · Restricted Project, Restricted Project
balazske updated the diff for D87449: [clang-tidy] Add new check for SEI CERT rule SIG30-C.
  • Code formatting fixes.
  • Updated description.
  • Improved CalledFunctionsCollector.
Sep 11 2020, 1:31 AM · Restricted Project, Restricted Project

Sep 10 2020

balazske requested review of D87449: [clang-tidy] Add new check for SEI CERT rule SIG30-C.
Sep 10 2020, 5:43 AM · Restricted Project, Restricted Project

Sep 7 2020

balazske accepted D84415: [analyzer][StdLibraryFunctionsChecker] Add POSIX pthread handling functions.
Sep 7 2020, 6:23 AM · Restricted Project

Sep 4 2020

balazske added a comment to D87081: [analyzer][StdLibraryFunctionsChecker] Elaborate the summary of fread and fwrite.

This checker will make an additional assumption on fread and fwrite with the ReturnValueCondition. The return value is constrained by StreamChecker too but it splits the error (if returned value is less that arg 3) and non-error cases into separate branches. I think this causes no problem because it will refine the assumption made here (if this assumption is made first) or the assumption here has no effect (if the split happened already).

Sep 4 2020, 8:57 AM · Restricted Project
balazske accepted D87097: [analyzer][StdLibraryFunctionsChecker] Do not match based on the restrict qualifier in C++.

LGTM.

Sep 4 2020, 1:55 AM · Restricted Project

Sep 1 2020

balazske accepted D86531: [analyzer][StdLibraryFunctionsChecker][NFC] Use Optionals throughout the summary API.

Looks good now.

Sep 1 2020, 1:03 AM · Restricted Project

Aug 28 2020

balazske added inline comments to D86531: [analyzer][StdLibraryFunctionsChecker][NFC] Use Optionals throughout the summary API.
Aug 28 2020, 8:26 AM · Restricted Project
balazske added a comment to D86743: [analyzer] Ignore VLASizeChecker case that could cause crash.

I do not know how these changes can appear:


The checker makes only 2 assumptions, about the array dimension being positive and about the size of the array and the extent. (This state transition happens when https://reviews.llvm.org/D81061 is applied, without it the state may look even worse.)

Aug 28 2020, 7:12 AM · Restricted Project
balazske added a comment to D86743: [analyzer] Ignore VLASizeChecker case that could cause crash.

The fix is probably OK but I could not find out what causes the problem in this case and not in other (similar) ones.
Why is not possible to assume SVB.evalEQ(State, DynSize, *ArraySizeNL) to true:
DynSize: extent_$1{e}
*ArraySizeNL: 8 U64b
The problem occurs likely not at the first iteration of the loop. Probably something is "messed up" in the state.

Aug 28 2020, 5:53 AM · Restricted Project

Aug 27 2020

balazske added a comment to D72705: [analyzer] Added new checker 'alpha.unix.ErrorReturn'..

The summary of this last discussion is that it is not acceptable to have only the simple check for the explicit comparison with a fixed constant. At least not for return types where the "implicit" check (a check that is always true or false for the error return value) is possible, for example the char* case. For functions that return a sort of "handle" (mainly a pointer to a struct that is not normally used with pointer arithmetic) the checker can still be useful.

Aug 27 2020, 3:21 AM · Restricted Project

Aug 26 2020

balazske added inline comments to D86531: [analyzer][StdLibraryFunctionsChecker][NFC] Use Optionals throughout the summary API.
Aug 26 2020, 3:12 AM · Restricted Project

Aug 25 2020

balazske added inline comments to D84415: [analyzer][StdLibraryFunctionsChecker] Add POSIX pthread handling functions.
Aug 25 2020, 12:16 AM · Restricted Project

Aug 18 2020

balazske planned changes to D75045: [analyzer] Improved check of `fgetc` in StreamChecker..

Something like this can be added to StreamChecker but it has changed in many places so a new review would be needed. The main problem is with this fgetc check is that it would be good to check the standard stream version getc too, but that is hard to implement because global nature of the standard streams (stdin).

Aug 18 2020, 9:44 PM · Restricted Project
balazske planned changes to D71510: [clang][checkers] Added new checker 'error-return-checker'..

This patch is here for code reference only. Although the whole checker does not work safe in this way the idea behind this approach can be useful.

Aug 18 2020, 9:41 PM · Restricted Project

Aug 17 2020

balazske added a comment to D84415: [analyzer][StdLibraryFunctionsChecker] Add POSIX pthread handling functions.

It is better now, but the refactoring change should be in a separate revision (it affects the other already added functions too).

Aug 17 2020, 12:24 AM · Restricted Project

Aug 14 2020

balazske added a comment to D84415: [analyzer][StdLibraryFunctionsChecker] Add POSIX pthread handling functions.

Even some macro-like construct can improve readability. The current way of adding functions is source of copy-paste errors because more things are repeated, these should be written only once. And the ifs for the existence of types can be eliminated (automated) somehow. So the final way of specifying the functions is to only list (get) the types first, then add the functions with name, arguments and constraints in a way that nothing needs to be repeated and computable parts are done automatically.

Aug 14 2020, 6:26 AM · Restricted Project

Aug 13 2020

balazske added a comment to D79431: [analyzer] StdLibraryFunctionsChecker: Add better diagnostics.

There is a TODO comment at the error message, it needs improvement. The current form is still something for developers, not for end users. For final version I would accept textual descriptions (as mentioned above), not names like "BufferSize" and words like "ArgN" inside it.

Aug 13 2020, 6:11 AM · Restricted Project
balazske accepted D84248: [analyzer][StdLibraryFunctionsChecker] Add POSIX time handling functions.

Nice!

Aug 13 2020, 2:48 AM · Restricted Project

Aug 12 2020

balazske added a comment to D72705: [analyzer] Added new checker 'alpha.unix.ErrorReturn'..

More results in CodeChecker: emacs_errorreturn

Something's not quite right, e.g. at https://codechecker-demo.eastus.cloudapp.azure.com/Default/report-detail?run=emacs_errorreturn&review-status=Unreviewed&review-status=Confirmed%20bug&detection-status=New&detection-status=Reopened&detection-status=Unresolved&report-id=7258 there's a bug path element Function '???' called [...]. This seems to be the case for almost every report... but I found no indication where this "???" could come from, in the patch...

Aug 12 2020, 9:22 AM · Restricted Project
balazske added inline comments to D84248: [analyzer][StdLibraryFunctionsChecker] Add POSIX time handling functions.
Aug 12 2020, 9:14 AM · Restricted Project
balazske updated the diff for D72705: [analyzer] Added new checker 'alpha.unix.ErrorReturn'..

Improved comments, code clean-up.
Improved detection of explicit cast to void.

Aug 12 2020, 6:05 AM · Restricted Project

Aug 11 2020

balazske added a comment to D72705: [analyzer] Added new checker 'alpha.unix.ErrorReturn'..

More results in CodeChecker: emacs_errorreturn

Aug 11 2020, 8:22 AM · Restricted Project
balazske updated the diff for D72705: [analyzer] Added new checker 'alpha.unix.ErrorReturn'..
  • Rebase
  • Changed testBinOpForCheckStatement
Aug 11 2020, 8:18 AM · Restricted Project
balazske committed rG497d060d0a74: [Analyzer] Improve invalid dereference bug reporting in DereferenceChecker. (authored by balazske).
[Analyzer] Improve invalid dereference bug reporting in DereferenceChecker.
Aug 11 2020, 1:07 AM
balazske closed D84520: [Analyzer] Improve invalid dereference bug reporting in DereferenceChecker..
Aug 11 2020, 1:07 AM · Restricted Project

Aug 10 2020

balazske updated the diff for D84520: [Analyzer] Improve invalid dereference bug reporting in DereferenceChecker..

Rebase (bug category is LogicError).

Aug 10 2020, 11:55 PM · Restricted Project
balazske added inline comments to D72705: [analyzer] Added new checker 'alpha.unix.ErrorReturn'..
Aug 10 2020, 8:22 AM · Restricted Project
balazske updated the diff for D72705: [analyzer] Added new checker 'alpha.unix.ErrorReturn'..
  • Renames.
  • Changed behavior if function call is compared to returned value.
Aug 10 2020, 8:03 AM · Restricted Project
balazske added a comment to D84520: [Analyzer] Improve invalid dereference bug reporting in DereferenceChecker..

Do the null pointer and invalid pointer dereference belong to the same checker, that is called NullDereference?

Aug 10 2020, 2:25 AM · Restricted Project
balazske updated the diff for D84520: [Analyzer] Improve invalid dereference bug reporting in DereferenceChecker..

Preserve original error messages.

Aug 10 2020, 2:20 AM · Restricted Project

Aug 7 2020

balazske added inline comments to D72705: [analyzer] Added new checker 'alpha.unix.ErrorReturn'..
Aug 7 2020, 9:01 AM · Restricted Project
balazske updated the diff for D84520: [Analyzer] Improve invalid dereference bug reporting in DereferenceChecker..

NFC changes, added some tests.

Aug 7 2020, 2:58 AM · Restricted Project

Aug 6 2020

balazske added a comment to D72705: [analyzer] Added new checker 'alpha.unix.ErrorReturn'..

Test results for tmux are available here. (Could not manage to get other results uploaded.)

Aug 6 2020, 3:31 AM · Restricted Project

Aug 3 2020

balazske added a comment to D84979: [analyzer][NFC] Refine CStringLength modeling API.

Really I am still not totally familiar how the checkers work and if it is good to have these function names. I was thinking about any checker that needs a string length information. It could get the data from CStringChecker using a "get" function or test if there is data at all. In this case it may happen that this get function modifies state or computes the length at that point? And how do the set operation work, it only stores a value computed by the calling code? And the create operation then does the computation and set together? The functions look not symmetrical, the set and create takes a MemRegion but the get takes a SVal. The create function sets the length for the passed memory region but makes no tests on it like the set function (can we call the set function from the create?).

Aug 3 2020, 8:50 AM · Restricted Project

Jul 31 2020

balazske added a comment to D72705: [analyzer] Added new checker 'alpha.unix.ErrorReturn'..

Some results with an improved version of this checker:
tmux: 6 results
duckdb: 23 results (1-2 false positive)
vim: 1 result
emacs: 25 results (more false positives mostly because ? operator that is easy to fix)

Jul 31 2020, 9:02 AM · Restricted Project

Jul 30 2020

balazske committed rG1745ba41b196: [Analyzer] Remove inclusion of uniqueing decl from diagnostic profile. (authored by balazske).
[Analyzer] Remove inclusion of uniqueing decl from diagnostic profile.
Jul 30 2020, 12:50 AM
balazske closed D84843: [Analyzer] Remove inclusion of uniqueing decl from diagnostic profile..
Jul 30 2020, 12:49 AM · Restricted Project

Jul 29 2020

balazske committed rGb22b97b3d0c0: [Analyzer] Use of BugType in DereferenceChecker (NFC). (authored by balazske).
[Analyzer] Use of BugType in DereferenceChecker (NFC).
Jul 29 2020, 11:30 PM
balazske closed D84494: [Analyzer] Use of BugType in DereferenceChecker (NFC)..
Jul 29 2020, 11:30 PM · Restricted Project
balazske added a comment to D84494: [Analyzer] Use of BugType in DereferenceChecker (NFC)..

The category string seems to be not really important, better not to change it.

Jul 29 2020, 9:17 AM · Restricted Project
balazske updated the diff for D84494: [Analyzer] Use of BugType in DereferenceChecker (NFC)..

Changed MemoryError back to LogicError.
Improved placement and text of changed comment.

Jul 29 2020, 9:15 AM · Restricted Project
balazske added a comment to D83115: [Analyzer] Report every bug if only uniqueing location differs..

Crash is fixed here: D84843

Jul 29 2020, 7:01 AM · Restricted Project
balazske requested review of D84843: [Analyzer] Remove inclusion of uniqueing decl from diagnostic profile..
Jul 29 2020, 6:52 AM · Restricted Project

Jul 28 2020

balazske added inline comments to D84316: [analyzer][NFC] Split CStringChecker to modeling and reporting.
Jul 28 2020, 8:59 AM · Restricted Project
balazske added a comment to D83961: [Analyzer] Fix bug report source locations in minimal output..

Then the current solution is good, print always end of the bug path.
A change to the bug reporting component was made that caused reported position of bugs to change. New is the end of the path, old is the location set by the checker (BugReport::getLocation value). The location is often same as end of the path. The RefLeakReport has a special getLocation function and there is a difference between this location (that is the allocation site) and the end of the path.

Jul 28 2020, 3:31 AM · Restricted Project
balazske added inline comments to D84494: [Analyzer] Use of BugType in DereferenceChecker (NFC)..
Jul 28 2020, 2:43 AM · Restricted Project

Jul 27 2020

balazske added a comment to D83961: [Analyzer] Fix bug report source locations in minimal output..

From the beginning on in this patch I assumed that the location of the bug report should be the end of the bug path. But this is probably a wrong approach, specially if the bug report has uniqueing location. In that case the uniqueing location may be a better place for the bug report. Specially for resource leak it is not bad if the report is located at the allocation site (still there is a bug path that shows the full path and place of leak). So another approach can be to allow only bug equivalence classes where the reports have same locations. If this is not true the checker should be fixed that generates the reports.

Jul 27 2020, 7:43 AM · Restricted Project
balazske added a comment to D84520: [Analyzer] Improve invalid dereference bug reporting in DereferenceChecker..

Change of the existing error messages and bug category is not necessary but it would be improvement because more uniform error messages. (And not the "logic error" is the best category for this case, if this value is used at all. Other checkers have bad values too.)

Jul 27 2020, 12:46 AM · Restricted Project
balazske added reviewers for D84520: [Analyzer] Improve invalid dereference bug reporting in DereferenceChecker.: gamesh411, NoQ, xazax.hun.
Jul 27 2020, 12:43 AM · Restricted Project

Jul 24 2020

balazske added a comment to D84520: [Analyzer] Improve invalid dereference bug reporting in DereferenceChecker..

Not sure if this is a good solution. There are few tests that test the undefined reference case. But the added code should work the same way as in the null pointer case?

Jul 24 2020, 5:23 AM · Restricted Project
Herald added a project to D84520: [Analyzer] Improve invalid dereference bug reporting in DereferenceChecker.: Restricted Project.
Jul 24 2020, 5:15 AM · Restricted Project
balazske updated the diff for D84494: [Analyzer] Use of BugType in DereferenceChecker (NFC)..

Fixed failed tests because change of bug category from "Logic error" to "Memory error".

Jul 24 2020, 3:24 AM · Restricted Project
Herald added a project to D84494: [Analyzer] Use of BugType in DereferenceChecker (NFC).: Restricted Project.
Jul 24 2020, 12:23 AM · Restricted Project

Jul 23 2020

balazske updated the diff for D83961: [Analyzer] Fix bug report source locations in minimal output..

Change column in malloc-plist test because code was reformatted.

Jul 23 2020, 8:50 AM · Restricted Project
balazske committed rG65fd651980a8: [Analyzer][StreamChecker] Use BugType::SuppressOnSink at resource leak report. (authored by balazske).
[Analyzer][StreamChecker] Use BugType::SuppressOnSink at resource leak report.
Jul 23 2020, 2:51 AM
balazske closed D83120: [Analyzer][StreamChecker] Use BugType::SuppressOnSink at resource leak report..
Jul 23 2020, 2:51 AM · Restricted Project

Jul 22 2020

balazske added a comment to D83961: [Analyzer] Fix bug report source locations in minimal output..

Every other test failure comes from RetainCount checker except malloc-plist.c.

Jul 22 2020, 7:28 AM · Restricted Project
balazske added inline comments to D83961: [Analyzer] Fix bug report source locations in minimal output..
Jul 22 2020, 6:53 AM · Restricted Project

Jul 21 2020

balazske added a comment to D83190: [analyzer] Model iterator random incrementation symmetrically.

Maybe the assert b.hasValue() is related to the problems in D83115 or D83961? The changes in those affect the same functions.

Jul 21 2020, 9:20 AM · Restricted Project

Jul 20 2020

balazske updated the diff for D72705: [analyzer] Added new checker 'alpha.unix.ErrorReturn'..

NFC code improvements.
Detect expressions in conditions.

Jul 20 2020, 7:50 AM · Restricted Project
balazske added a comment to D83961: [Analyzer] Fix bug report source locations in minimal output..

The problem in D83120 is fixed by this patch.
What I figured out from the code is that BugReporter::FlushReport calls findReportInEquivalenceClass that returns a report that has not necessary the shortest path. That report is get from the passed bug report class and a different instance is returned if the uniqueing is turned on or off. This report is used to fill the last location in the bug path, if the bug path is empty. So the location in the bug path changes dependent on the setting of uniqueing. The bug path here is empty if the analyzer-output is set to minimal (or not specified). Even in the minimal output case, function PathDiagnosticBuilder::generate is called if it is a path sensitive case. In that function the shortest path is used. So instead of returning an empty path from that function (what is filled later by FlushReport) the last part of the path can be filled here (and use the correct source location from the shortest path).
The problem can happen if not the report with shortest path is returned from findReportInEquivalenceClass, and analyzer-output is set to minimal or default. If the output is not minimal, the bug path is filled by the PathDiagnosticBuilder::generate with correct locations. So changing the output type can result in change of the warning location.
Other way to get the problem is change only the uniqueing setting in bug type and use minimal (or default) output. Then the example report can change and because this example report is used to get the bug location the location can change too (if the equivalence class contains paths with different end locations).

Jul 20 2020, 6:04 AM · Restricted Project
balazske added a comment to D72705: [analyzer] Added new checker 'alpha.unix.ErrorReturn'..

This checker can have two purposes, one is to verify that all paths have the error check, other is to find at least one path without error check. The first is the one that can be done with dataflow based analysis but looks like a difficult problem. For example is it possible to handle this case (X does not change)?

int Ret;
if (X)
  Ret = fgetc(fd);
else
  Ret = strtol(SomeString);
...
bool IsError;
if (X)
  IsError = (Ret == EOF);
else
  IsError = (Ret < -100 || Ret > 100);

The other "purpose" is to find one path with missing error check, the current code should do something like that. The path sensitivity is used here to store for a symbol from which function call it comes from, and probably to determine value of other symbols in the program if they appear in a comparison.

Jul 20 2020, 3:28 AM · Restricted Project
balazske committed rG9b7c43d341da: [Analyzer][StreamChecker] Report every leak, clean up state. (authored by balazske).
[Analyzer][StreamChecker] Report every leak, clean up state.
Jul 20 2020, 2:47 AM
balazske closed D82845: [Analyzer][StreamChecker] Report every leak, clean up state..
Jul 20 2020, 2:46 AM · Restricted Project
balazske updated the diff for D82845: [Analyzer][StreamChecker] Report every leak, clean up state..

Rebase to master.

Jul 20 2020, 12:03 AM · Restricted Project

Jul 19 2020

balazske updated the diff for D82845: [Analyzer][StreamChecker] Report every leak, clean up state..

Fixed formatting.

Jul 19 2020, 11:50 PM · Restricted Project

Jul 17 2020

balazske added a comment to D72705: [analyzer] Added new checker 'alpha.unix.ErrorReturn'..

The problem with fgetc is here that the returned value indicates not only if there was failure or not. In the following (over simplified) example no warning is needed even if there is no check for EOF. Because this case, for such kind of functions any comparison of the return value should be treated as an error check. Similar functions are the strtol family.

c = fgetc(fd);
if (c == 'a') {
  // this is the expected input
} else {
  // any other value is handled as error
}
Jul 17 2020, 9:29 AM · Restricted Project
balazske added a comment to D83970: [ASTImporter] Refactor ASTImporter to support custom downstream tests.

Future improvement: Split ASTImporterTest.cpp into smaller parts. It is still too large.

Jul 17 2020, 6:42 AM · Restricted Project
balazske updated the diff for D82845: [Analyzer][StreamChecker] Report every leak, clean up state..

Checking notes in test f_leak_2.

Jul 17 2020, 6:34 AM · Restricted Project
balazske added a comment to D83961: [Analyzer] Fix bug report source locations in minimal output..

Big part of the test failures is with the osx.cocoa.RetainCount checker. Only a small part of the errors is fixed now.

Jul 17 2020, 5:53 AM · Restricted Project
balazske updated the diff for D83961: [Analyzer] Fix bug report source locations in minimal output..

Fixed some source location changes in tests.
Re-added check for empty path.

Jul 17 2020, 5:51 AM · Restricted Project

Jul 16 2020

balazske added reviewers for D83961: [Analyzer] Fix bug report source locations in minimal output.: baloghadamsoftware, NoQ.
Jul 16 2020, 9:32 AM · Restricted Project