File tree Expand file tree Collapse file tree 1 file changed +17
-3
lines changed
java/ql/src/semmle/code/java/dataflow Expand file tree Collapse file tree 1 file changed +17
-3
lines changed Original file line number Diff line number Diff line change @@ -342,9 +342,23 @@ private class AndroidIntentExtraSource extends RemoteFlowSource {
342342 AndroidIntentExtraSource ( ) {
343343 exists ( MethodAccess ma |
344344 ma instanceof IntentGetExtraMethodAccess and
345- (
346- this .asExpr ( ) .( VarAccess ) .getVariable ( ) .getAnAssignedValue ( ) = ma or
347- ma .getQualifier ( ) = this .asExpr ( )
345+ this .asExpr ( ) = ma and
346+ exists ( AndroidIntentInput inode |
347+ (
348+ ma .getQualifier ( ) = inode .asExpr ( ) or // extra from intent
349+ ma .getQualifier ( ) = inode .asParameter ( ) .getAnAccess ( )
350+ )
351+ or
352+ exists (
353+ MethodAccess ema // extra from extras bundle of intent
354+ |
355+ ema .getMethod ( ) .hasName ( "getExtras" ) and
356+ ma .getQualifier ( ) = ema and
357+ (
358+ ema .getQualifier ( ) = inode .asExpr ( ) or
359+ ema .getQualifier ( ) = inode .asParameter ( ) .getAnAccess ( )
360+ )
361+ )
348362 )
349363 )
350364 }
You can’t perform that action at this time.
0 commit comments