diff --git a/cpp/ql/src/semmle/code/cpp/Variable.qll b/cpp/ql/src/semmle/code/cpp/Variable.qll index 0a4c55ba138..ddf362e96d0 100644 --- a/cpp/ql/src/semmle/code/cpp/Variable.qll +++ b/cpp/ql/src/semmle/code/cpp/Variable.qll @@ -404,7 +404,9 @@ private predicate runtimeExprInStaticInitializer(Expr e) { /** Holds if `e` is part of the initializer of a `StaticStorageDurationVariable`. */ private predicate inStaticInitializer(Expr e) { - exists(StaticStorageDurationVariable var | e.getParent+() = var.getInitializer()) + exists(StaticStorageDurationVariable var | e = var.getInitializer().getExpr()) + or + inStaticInitializer(e.getParent()) } /**