Commit Graph

17948 Commits

Author SHA1 Message Date
Mathias Vorreiter Pedersen
ba0429cf01 Merge branch 'master' into ir-flow-fields 2020-04-17 13:57:12 +02:00
Erik Krogh Kristensen
225dc4b017 change-note 2020-04-17 13:54:48 +02:00
Felicity Chapman
01a31c1065 Minor editorial changes 2020-04-17 12:50:20 +01:00
Tom Hvitved
f91af7daf3 C#: Add more data-flow tests 2020-04-17 13:49:08 +02:00
Tom Hvitved
05ec75558d Java: Update test 2020-04-17 13:49:08 +02:00
Tom Hvitved
1b6e978a62 Data flow: Sync files 2020-04-17 13:49:06 +02:00
Tom Hvitved
de41e668b0 Data flow: No more flow summaries 2020-04-17 13:48:20 +02:00
Felicity Chapman
ee12e6a00b Sort alphabetically 2020-04-17 12:35:33 +01:00
Geoffrey White
e5dc14ac95 Merge pull request #3271 from jbj/1.24-change-note
C++: Tidy up 1.24 change notes
2020-04-17 12:33:24 +01:00
Felicity Chapman
67e8a5c8d8 Minor editorial changes 2020-04-17 12:11:33 +01:00
Chris Gavin
e974006122 Merge pull request #3283 from jbj/mergeback-2020-04-17
Mergeback rc/1.24 -> master
2020-04-17 12:11:22 +01:00
Erik Krogh Kristensen
e72eed1db5 more -> additional
Co-Authored-By: Esben Sparre Andreasen <esbena@github.com>
2020-04-17 13:10:06 +02:00
Felicity Chapman
81b3b4884c Add LGTM info for new queries and comment detail
Plus minor editorial changes
2020-04-17 12:09:27 +01:00
Felicity Chapman
08d1a2c5ea Reorder table and remove empty sections 2020-04-17 11:30:18 +01:00
Mathias Vorreiter Pedersen
8c03423f3e C++: Accept test output 2020-04-17 12:03:16 +02:00
Erik Krogh Kristensen
4a93b91d59 make maybePromisified private 2020-04-17 11:47:03 +02:00
Erik Krogh Kristensen
3b230648d2 change-note 2020-04-17 11:45:08 +02:00
Erik Krogh Kristensen
4f32157a78 rename func to callback
Co-Authored-By: Esben Sparre Andreasen <esbena@github.com>
2020-04-17 11:36:48 +02:00
Erik Krogh Kristensen
427c32f211 report a local variable as the misspelling if there any many occourances of the global 2020-04-17 11:25:23 +02:00
Tom Hvitved
c36142f129 C#: Add data-flow test for collections 2020-04-17 11:22:01 +02:00
Erik Krogh Kristensen
1b80f46f30 add QHelp for js/xss-through-dom query 2020-04-17 10:54:21 +02:00
Erik Krogh Kristensen
14b551f887 Xss through DOM 2020-04-17 10:54:14 +02:00
Jonas Jensen
c970e8a52e Merge remote-tracking branch 'upstream/rc/1.24' into mergeback-2020-04-17 2020-04-17 10:42:27 +02:00
Erik Krogh Kristensen
55edfed1ee support jQuery().get() returning a DOM node 2020-04-17 10:32:53 +02:00
Erik Krogh Kristensen
dd9aec056c handle basic dynamic method dispatch for jQuery methods 2020-04-17 10:32:52 +02:00
Jonas Jensen
7dab89ef56 C++: More details about lib implementation changes
This commit mostly restores the previous note about library changes but
avoids mentioning queries in the library section.
2020-04-17 10:32:28 +02:00
Jonas Jensen
9191190248 C++: Spaceship operator change note 2020-04-17 10:18:17 +02:00
Erik Krogh Kristensen
eca98b42d2 basic support for util.promisify for NodeJSFileSystemAccess 2020-04-17 09:54:37 +02:00
Erik Krogh Kristensen
ea0f6a367d refactor into maybePromisified predicate 2020-04-17 09:50:08 +02:00
Dave Bartolomeo
c705797a2d C++: IR construction for _Imaginary types
Includes a fairly exhaustive test case for arithmetic operations involving `_Complex` and/or `_Imaginary` types. Thanks to these new tests, I discovered that the extractor treats certain arithmetic operations on `_Imaginary` types as separate expression kinds, so I added support for those kinds in IR construction.
2020-04-16 11:58:09 -04:00
Mathias Vorreiter Pedersen
62e2ffe623 C++: Make PartialDefinitionNode private and add/update comments based on review comments 2020-04-16 17:19:12 +02:00
Tom Hvitved
1959480b78 C#: Field-flow summaries for library code 2020-04-16 15:20:47 +02:00
Dave Bartolomeo
3dd3b5304e Merge remote-tracking branch 'upstream/master' into dbartol/floats 2020-04-16 08:44:41 -04:00
Taus
964a619450 Merge pull request #3211 from RasmusWL/python-unused-import-small-fix
Python: Fix FN in unused import
2020-04-16 14:22:50 +02:00
Taus
a92d926b56 Merge pull request #3218 from RasmusWL/python-add-missing-override
Python: Add missing override to ClassValue.hasAttribute
2020-04-16 14:06:23 +02:00
Taus Brock-Nannestad
2d8770d17c Python: Fix remaining deprecation warnings. 2020-04-16 14:03:21 +02:00
Geoffrey White
24d7446976 C++: Basic model of '&' and '>>' in SimpleRangeAnalysis. 2020-04-16 11:17:29 +01:00
Geoffrey White
2acbdecfdb C++: Add test cases. 2020-04-16 11:11:58 +01:00
Tom Hvitved
922e52f061 Merge pull request #3257 from hvitved/csharp/dataflow/tests
C#: Update data flow tests
2020-04-16 11:47:45 +02:00
Rasmus Wriedt Larsen
ab120ed7af Python: Remove deprecated annotation for old PointsTo::points_to
We should only deprecate it when we're ready to deprecate the old refersTo and
all the old Object classes
2020-04-16 09:47:45 +02:00
Robert Marsh
d0e047186a C++: add remote flow models for fread and gets 2020-04-15 18:01:04 -07:00
Robert Marsh
a006bd3117 C++: add model-based RemoteFlowSource 2020-04-15 17:46:00 -07:00
Dave Bartolomeo
2264ec714f C++: Better type preservation in getVariableType()
`getVariableType()` is used to compute the actual semantic type of a variable from its declared type. That's where we handle pointer and function decay for parameters, and it's also where we handle arrays of unknown bound initialized with an initializer of known bound.

Previously, even if neither of the above situations applied, the type that we returned was the `getUnspecifiedType()` of the variable. This meant that, for example, `const char* p` would be treated as `char *`. This is inconsistent with how we handle types elsewhere in IR construction, where we preserve typedefs and cv-qualifiers when creating the `CppType` of an `IRVariable`, `Instruction`, or `Operand`.

The only visible effect this fix has is to fix the inferred result type for `Phi` instructions for variables affect by this change in `getVariableType()` behavior. Previously, we would see the variable accessed as both `const char*` and as `char*`, so we'd fall back to the canonical pointer type, which is `decltype(nullptr)`. Now, we see the same type for all accesses to the variable, so we use that type as the type of the SSA memory location and as the result type of the `Phi` instruction.
2020-04-15 18:41:24 -04:00
Dave Bartolomeo
90dc14c56e C++/C#: Fix phantom Chi definitions in PrintSSA
When `PrintSSA.qll` is imported, IR dumps will be annotated with the alias analysis information used during SSA construction. When printing this information, we incorrectly treated instructions at offset -1, which should only be `Phi` instructions, as `Chi` instructions for the instruction at offset 0. This produced phantom annotations, but did not affect the correctness of the actual IR.
2020-04-15 18:24:11 -04:00
Mathias Vorreiter Pedersen
86ba03bea8 Merge pull request #3256 from Semmle/rdmarsh/cpp/add-qldoc-1
C++: Add QLdoc to some AST methods (Class.qll-Diagnostics.qll)
2020-04-15 21:46:36 +02:00
Erik Krogh Kristensen
69a16af152 Merge branch 'master' into Maps 2020-04-15 20:41:22 +02:00
Erik Krogh Kristensen
fd51142200 change succ in storeStep to be a SourceNode 2020-04-15 20:40:58 +02:00
Erik Krogh Kristensen
e8dc77d508 add support for util.promisify with child_process calls 2020-04-15 19:16:30 +02:00
Rasmus Wriedt Larsen
b179a0bdc2 Python: Add deprecated comment for FinalCustomPointsToFact 2020-04-15 16:59:07 +02:00
Rasmus Wriedt Larsen
5a51d2cc4c Merge pull request #3245 from BekaValentine/python-objectapi-to-valueapi-wrongnameforargumentinclassinstantiation
Python: ObjectAPI to ValueAPI: WrongNameForArgumentInClassInstantiation
2020-04-15 16:48:26 +02:00