File tree Expand file tree Collapse file tree 3 files changed +19
-2
lines changed
src/semmle/javascript/frameworks
test/library-tests/frameworks/NodeJSLib Expand file tree Collapse file tree 3 files changed +19
-2
lines changed Original file line number Diff line number Diff line change @@ -1068,8 +1068,10 @@ module NodeJSLib {
10681068 /**
10691069 * An instance of net.createServer(), which creates a new TCP/IPC server.
10701070 */
1071- private class NodeJSNetServer extends DataFlow:: SourceNode {
1072- NodeJSNetServer ( ) { this = DataFlow:: moduleMember ( "net" , "createServer" ) .getAnInvocation ( ) }
1071+ class NodeJSNetServer extends DataFlow:: InvokeNode {
1072+ NodeJSNetServer ( ) {
1073+ this = DataFlow:: moduleMember ( [ "net" , "tls" ] , "createServer" ) .getAnInvocation ( )
1074+ }
10731075
10741076 private DataFlow:: SourceNode ref ( DataFlow:: TypeTracker t ) {
10751077 t .start ( ) and result = this
@@ -1096,6 +1098,8 @@ module NodeJSLib {
10961098 |
10971099 this = call .getCallback ( 1 ) .getParameter ( 0 )
10981100 )
1101+ or
1102+ this = server .getCallback ( [ 0 , 1 ] ) .getParameter ( 0 )
10991103 }
11001104
11011105 DataFlow:: SourceNode ref ( ) { result = EventEmitter:: trackEventEmitter ( this ) }
Original file line number Diff line number Diff line change @@ -2,3 +2,14 @@ var https = require('https');
22https . createServer ( function ( req , res ) { } ) ;
33https . createServer ( o , function ( req , res ) { } ) ;
44require ( 'http2' ) . createServer ( ( req , res ) => { } ) ;
5+
6+ require ( "tls" ) . createServer ( ( socket ) => {
7+ socket . on ( "data" , ( data ) => { } )
8+ } ) ;
9+
10+ const net = require ( 'net' ) ;
11+ const tls = require ( 'tls' ) ;
12+
13+ const server = ( isSecure ? tls : net ) . createServer ( options , ( socket ) => {
14+ socket . on ( "data" , ( data ) => { } )
15+ } ) ;
Original file line number Diff line number Diff line change @@ -163,6 +163,8 @@ test_ClientRequest_getADataNode
163163| src/http.js:27:16:27:73 | http.re ... POST'}) | src/http.js:50:16:50:22 | 'stuff' |
164164| src/http.js:27:16:27:73 | http.re ... POST'}) | src/http.js:51:14:51:25 | 'more stuff' |
165165test_RemoteFlowSources
166+ | createServer.js:7:24:7:27 | data |
167+ | createServer.js:14:24:14:27 | data |
166168| src/http.js:6:26:6:32 | req.url |
167169| src/http.js:8:3:8:20 | req.headers.cookie |
168170| src/http.js:9:3:9:17 | req.headers.foo |
You can’t perform that action at this time.
0 commit comments