@@ -714,47 +714,48 @@ private class AngularMethodCall extends AngularJSCall {
714714 * A call to a builtin service or one of its methods.
715715 */
716716private class BuiltinServiceCall extends AngularJSCall {
717- MethodCallExpr mce ;
717+ CallExpr call ;
718718
719719 BuiltinServiceCall ( ) {
720720 exists ( BuiltinServiceReference service |
721- service .getAMethodCall ( _) = this and
722- mce = this
721+ service .getAMethodCall ( _) = this or
722+ service .getACall ( ) = this |
723+ call = this
723724 )
724725 }
725726
726727 override predicate interpretsArgumentAsHtml ( Expr e ) {
727728 exists ( ServiceReference service , string methodName |
728729 service .getName ( ) = "$sce" and
729- mce = service .getAMethodCall ( methodName )
730+ call = service .getAMethodCall ( methodName )
730731 |
731732 // specialized call
732733 ( methodName = "trustAsHtml" or methodName = "trustAsCss" ) and
733- e = mce .getArgument ( 0 )
734+ e = call .getArgument ( 0 )
734735 or
735736 // generic call with enum argument
736737 methodName = "trustAs" and
737738 exists ( DataFlow:: PropRead prn |
738- prn .asExpr ( ) = mce .getArgument ( 0 ) and
739+ prn .asExpr ( ) = call .getArgument ( 0 ) and
739740 ( prn = service .getAPropertyAccess ( "HTML" ) or prn = service .getAPropertyAccess ( "CSS" ) ) and
740- e = mce .getArgument ( 1 )
741+ e = call .getArgument ( 1 )
741742 )
742743 )
743744 }
744745
745746 override predicate storesArgumentGlobally ( Expr e ) {
746747 exists ( ServiceReference service , string serviceName , string methodName |
747748 service .getName ( ) = serviceName and
748- mce = service .getAMethodCall ( methodName )
749+ call = service .getAMethodCall ( methodName )
749750 |
750751 // AngularJS caches (only available during runtime, so similar to sessionStorage)
751752 ( serviceName = "$cacheFactory" or serviceName = "$templateCache" ) and
752753 methodName = "put" and
753- e = mce .getArgument ( 1 )
754+ e = call .getArgument ( 1 )
754755 or
755756 serviceName = "$cookies" and
756757 ( methodName = "put" or methodName = "putObject" ) and
757- e = mce .getArgument ( 1 )
758+ e = call .getArgument ( 1 )
758759 )
759760 }
760761
0 commit comments