bxie9 / codeql-uboot

https://lab.github.com/githubtraining/codeql-u-boot-challenge-(cc++)
MIT License
0 stars 0 forks source link

Step 8 - Changing the selected output #8

Closed github-learning-lab[bot] closed 4 years ago

github-learning-lab[bot] commented 4 years ago

Step 8: Changing the selected output

In the previous step, you found invocations of the macros we are interested in. Modify your query to find the top-level expressions these macro invocations expand to.

Note: An expression is a source code element that can have a value at runtime. Invoking a macro can bring various source code elements into scope, including expressions.

github-learning-lab[bot] commented 4 years ago

:keyboard: Activity: Find the expressions that correspond to macro invocations

As before, if you don't know how a piece of source code is represented in the library, you can use the auto-completion and contextual help to discover the classes and predicates you need.

  1. Edit the file 8_macro_expressions.ql with the previous query
  2. Use the getExpr() predicate in the select section, to return the wanted expressions.
  3. Once you're happy with the results, submit your solution.
github-learning-lab[bot] commented 4 years ago

Congratulations, looks like the query you introduced in dc4f43592e03b61f8035866652e479308f25969b finds the correct results!

If you created a pull request, merge it.

Let's continue to the next step.