@@ -416,7 +416,10 @@ module Tornado {
416416 // more FPs. If this turns out to be the wrong tradeoff, we can always change our mind.
417417 exists ( Function requestHandler | requestHandler = this .getARequestHandler ( ) |
418418 not exists ( this .getUrlPattern ( ) ) and
419- result in [ requestHandler .getArg ( _) , requestHandler .getArgByName ( _) ] and
419+ result in [
420+ requestHandler .getArg ( _) , requestHandler .getArgByName ( _) ,
421+ requestHandler .getVararg ( ) .( Parameter ) , requestHandler .getKwarg ( ) .( Parameter )
422+ ] and
420423 not result = requestHandler .getArg ( 0 )
421424 )
422425 or
@@ -429,6 +432,12 @@ module Tornado {
429432 result = requestHandler .getArg ( regex .getGroupNumber ( _, _) )
430433 or
431434 result = requestHandler .getArgByName ( regex .getGroupName ( _, _) )
435+ or
436+ exists ( regex .getGroupNumber ( _, _) ) and
437+ result = requestHandler .getVararg ( )
438+ or
439+ exists ( regex .getGroupName ( _, _) ) and
440+ result = requestHandler .getKwarg ( )
432441 )
433442 }
434443 }
@@ -446,7 +455,10 @@ module Tornado {
446455 // Since we don't know the URL pattern, we simply mark all parameters as a routed
447456 // parameter. This should give us more RemoteFlowSources but could also lead to
448457 // more FPs. If this turns out to be the wrong tradeoff, we can always change our mind.
449- result in [ this .getArg ( _) , this .getArgByName ( _) ] and
458+ result in [
459+ this .getArg ( _) , this .getArgByName ( _) , this .getVararg ( ) .( Parameter ) ,
460+ this .getKwarg ( ) .( Parameter )
461+ ] and
450462 not result = this .getArg ( 0 )
451463 }
452464
0 commit comments