File tree Expand file tree Collapse file tree 2 files changed +13
-2
lines changed
src/semmle/javascript/frameworks
test/library-tests/frameworks/Electron Expand file tree Collapse file tree 2 files changed +13
-2
lines changed Original file line number Diff line number Diff line change @@ -16,7 +16,7 @@ module Electron {
1616 /**
1717 * An instantiation of `BrowserWindow` or `BrowserView`.
1818 */
19- abstract private class NewBrowserObject extends BrowserObject , DataFlow :: SourceNode {
19+ abstract private class NewBrowserObject extends BrowserObject {
2020 DataFlow:: NewNode self ;
2121
2222 NewBrowserObject ( ) { this = self }
@@ -56,11 +56,20 @@ module Electron {
5656 }
5757 }
5858
59+ private DataFlow:: SourceNode browserObject ( DataFlow:: TypeTracker t ) {
60+ t .start ( ) and
61+ result instanceof NewBrowserObject
62+ or
63+ exists ( DataFlow:: TypeTracker prev |
64+ result = browserObject ( prev ) .track ( prev , t )
65+ )
66+ }
67+
5968 /**
6069 * A data flow node whose value may originate from a browser object instantiation.
6170 */
6271 private class BrowserObjectByFlow extends BrowserObject {
63- BrowserObjectByFlow ( ) { any ( NewBrowserObject nbo ) .flowsTo ( this ) }
72+ BrowserObjectByFlow ( ) { browserObject ( _ ) .flowsTo ( this ) }
6473 }
6574
6675 /**
Original file line number Diff line number Diff line change 44| electron.js:3:10:3:48 | new Bro ... s: {}}) |
55| electron.js:4:5:4:46 | bv |
66| electron.js:4:10:4:46 | new Bro ... s: {}}) |
7+ | electron.js:35:14:35:14 | x |
8+ | electron.js:36:12:36:12 | x |
79| electron.js:39:5:39:6 | bw |
810| electron.js:40:5:40:6 | bv |
911| electron.ts:3:12:3:13 | bw |
You can’t perform that action at this time.
0 commit comments