From: Justin Viiret Date: Tue, 16 Feb 2016 23:36:22 +0000 (+1100) Subject: Rose: only use direct reports for external reports X-Git-Tag: v4.2.0^2~128 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b62711a18f176ee89f00557c742145fc0ede5395;p=thirdparty%2Fvectorscan.git Rose: only use direct reports for external reports --- diff --git a/src/rose/rose_build_compile.cpp b/src/rose/rose_build_compile.cpp index 70bf0cf3..db1e49ee 100644 --- a/src/rose/rose_build_compile.cpp +++ b/src/rose/rose_build_compile.cpp @@ -598,6 +598,13 @@ bool RoseBuildImpl::isDirectReport(u32 id) const { return false; } + // Use the program to handle cases that aren't external reports. + for (const ReportID &id : g[v].reports) { + if (!isExternalReport(rm.getReport(id))) { + return false; + } + } + if (literals.right.at(id).table == ROSE_ANCHORED) { /* in-edges are irrelevant for anchored region. */ continue;