The GitHub Actions job "CI" on 
grails-core.git/fix/gorm-query-safety-hql-fragments has failed.
Run started by GitHub user jdaugherty (triggered by jdaugherty).

Head commit for run:
9ebd139cab0e692cdef4c9923634665e002c7a34 / James Daugherty 
<[email protected]>
Make the query safety check flow-sensitive beyond if/else

Constant-text tracking was last-write-wins inside try/catch, switch,
loops and closure bodies: a local assigned data on one path and constant
text on a later path in source order ended up classified as constant
text, so a GString interpolating it was no longer a finding - a false
negative that the previous unconditional error for a String-coerced
GString did not have.

Every control-flow construct is now walked the way if/else already was:
from a snapshot of the state before it, with the states at the end of
its paths merged pessimistically afterwards. A catch block starts from
the merge of every state the try block passed through, since an
exception can leave it after any statement, and a finally block is
checked against every path into it while only the paths that complete
the try or a catch block normally continue past the statement. A loop
body or closure body is re-walked, without reporting, from the merged
loop-head state until that state is stable, so an assignment late in the
body is seen by a use earlier in it that the next iteration reaches; the
walk from the settled state reports each finding once. break, continue
and a closure's return carry their state to the exit or head they jump
to, and a path that ends in a jump or a throw no longer contributes to
the state after the statement, which also removes the false positive for
a branch that returns after flattening a query.

Report URL: https://github.com/apache/grails-core/actions/runs/36916533000

With regards,
GitHub Actions via GitBox

Reply via email to