mirror of
https://github.com/ysoftdevs/DependencyCheck.git
synced 2026-03-29 05:12:14 +02:00
updated to version 1.0.5
This commit is contained in:
@@ -12,7 +12,7 @@
|
||||
<div class="separator"> </div>
|
||||
<table class="report">
|
||||
<thead><tr> <td class="heading">Classes in this File</td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Line Coverage</a></td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Branch Coverage</a></td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Complexity</a></td></tr></thead>
|
||||
<tr><td><a href="org.owasp.dependencycheck.data.nvdcve.CveDB.html">CveDB</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">47%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:47px"><span class="text">150/319</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">58%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:58px"><span class="text">55/94</span></div></div></td></tr></table></td><td class="value"><span class="hidden">5.0;</span>5</td></tr>
|
||||
<tr><td><a href="org.owasp.dependencycheck.data.nvdcve.CveDB.html">CveDB</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">47%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:47px"><span class="text">151/319</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">62%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:62px"><span class="text">59/94</span></div></div></td></tr></table></td><td class="value"><span class="hidden">5.0;</span>5</td></tr>
|
||||
|
||||
</table>
|
||||
<div class="separator"> </div>
|
||||
@@ -119,7 +119,7 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @author Jeremy Long (jeremy.long@owasp.org)</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 51</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 52</td> <td class="nbHitsCovered"> 15</td> <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">class</span> CveDB {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 52</td> <td class="nbHitsCovered"> 19</td> <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">class</span> CveDB {</pre></td></tr>
|
||||
<tr> <td class="numLine"> 53</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 54</td> <td class="nbHits"> </td>
|
||||
@@ -344,18 +344,18 @@
|
||||
<td class="src"><pre class="src"> justification = <span class="string">"Yes, I know... Blank password."</span>)</pre></td></tr>
|
||||
<tr> <td class="numLine"> 164</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">void</span> open() <span class="keyword">throws</span> IOException, SQLException, DatabaseException, ClassNotFoundException {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 165</td> <td class="nbHitsCovered"> 15</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String fileName = CveDB.getDataDirectory().getCanonicalPath();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 166</td> <td class="nbHitsCovered"> 15</td> <td class="src"><pre class="src"> <span class="keyword">final</span> File f = <span class="keyword">new</span> File(fileName, <span class="string">"cve."</span> + DB_SCHEMA_VERSION);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 167</td> <td class="nbHitsCovered"> 15</td> <td class="src"><pre class="src"> <span class="keyword">final</span> File check = <span class="keyword">new</span> File(f.getAbsolutePath() + <span class="string">".h2.db"</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 168</td> <td class="nbHitsUncovered"><a title="Line 168: Conditional coverage 50% (1/2)."> 15</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 168: Conditional coverage 50% (1/2)."> <span class="keyword">final</span> <span class="keyword">boolean</span> createTables = !check.exists();</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 169</td> <td class="nbHitsCovered"> 15</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String connStr = String.format(<span class="string">"jdbc:h2:file:%s;AUTO_SERVER=TRUE"</span>, f.getAbsolutePath());</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 170</td> <td class="nbHitsCovered"> 15</td> <td class="src"><pre class="src"> Class.forName(<span class="string">"org.h2.Driver"</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 171</td> <td class="nbHitsCovered"> 15</td> <td class="src"><pre class="src"> conn = DriverManager.getConnection(connStr, <span class="string">"sa"</span>, <span class="string">""</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 172</td> <td class="nbHitsUncovered"><a title="Line 172: Conditional coverage 50% (1/2)."> 15</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 172: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (createTables) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 165</td> <td class="nbHitsCovered"> 19</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String fileName = CveDB.getDataDirectory().getCanonicalPath();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 166</td> <td class="nbHitsCovered"> 19</td> <td class="src"><pre class="src"> <span class="keyword">final</span> File f = <span class="keyword">new</span> File(fileName, <span class="string">"cve."</span> + DB_SCHEMA_VERSION);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 167</td> <td class="nbHitsCovered"> 19</td> <td class="src"><pre class="src"> <span class="keyword">final</span> File check = <span class="keyword">new</span> File(f.getAbsolutePath() + <span class="string">".h2.db"</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 168</td> <td class="nbHitsUncovered"><a title="Line 168: Conditional coverage 50% (1/2)."> 19</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 168: Conditional coverage 50% (1/2)."> <span class="keyword">final</span> <span class="keyword">boolean</span> createTables = !check.exists();</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 169</td> <td class="nbHitsCovered"> 19</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String connStr = String.format(<span class="string">"jdbc:h2:file:%s;AUTO_SERVER=TRUE"</span>, f.getAbsolutePath());</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 170</td> <td class="nbHitsCovered"> 19</td> <td class="src"><pre class="src"> Class.forName(<span class="string">"org.h2.Driver"</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 171</td> <td class="nbHitsCovered"> 19</td> <td class="src"><pre class="src"> conn = DriverManager.getConnection(connStr, <span class="string">"sa"</span>, <span class="string">""</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 172</td> <td class="nbHitsUncovered"><a title="Line 172: Conditional coverage 50% (1/2)."> 19</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 172: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (createTables) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 173</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> createTables();</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 174</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 175</td> <td class="nbHitsCovered"> 15</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 175</td> <td class="nbHitsCovered"> 19</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 176</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 177</td> <td class="nbHits"> </td>
|
||||
@@ -391,9 +391,9 @@
|
||||
<td class="src"><pre class="src"> @Override</pre></td></tr>
|
||||
<tr> <td class="numLine"> 194</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">protected</span> <span class="keyword">void</span> finalize() <span class="keyword">throws</span> Throwable {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 195</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> close();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 196</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> <span class="keyword">super</span>.finalize(); <span class="comment">//not necessary if extending Object.</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 197</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 195</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> close();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 196</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> <span class="keyword">super</span>.finalize(); <span class="comment">//not necessary if extending Object.</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 197</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 198</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 199</td> <td class="nbHits"> </td>
|
||||
@@ -406,19 +406,19 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 203</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">void</span> close() {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 204</td> <td class="nbHitsCovered"><a title="Line 204: Conditional coverage 100% (2/2)."> 23</a></td> <td class="src"><pre class="src"> <a title="Line 204: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (conn != <span class="keyword">null</span>) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 204</td> <td class="nbHitsCovered"><a title="Line 204: Conditional coverage 100% (2/2)."> 31</a></td> <td class="src"><pre class="src"> <a title="Line 204: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (conn != <span class="keyword">null</span>) {</a></pre></td></tr>
|
||||
<tr> <td class="numLine"> 205</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 206</td> <td class="nbHitsCovered"> 15</td> <td class="src"><pre class="src"> conn.close();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 206</td> <td class="nbHitsCovered"> 19</td> <td class="src"><pre class="src"> conn.close();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 207</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (SQLException ex) {</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 208</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">final</span> String msg = <span class="string">"There was an error attempting to close the CveDB, see the log for more details."</span>;</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 209</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> Logger.getLogger(CveDB.<span class="keyword">class</span>.getName()).log(Level.SEVERE, msg, ex);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 210</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> Logger.getLogger(CveDB.<span class="keyword">class</span>.getName()).log(Level.FINE, <span class="keyword">null</span>, ex);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 211</td> <td class="nbHitsCovered"> 15</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 212</td> <td class="nbHitsCovered"> 15</td> <td class="src"><pre class="src"> conn = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 211</td> <td class="nbHitsCovered"> 19</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 212</td> <td class="nbHitsCovered"> 19</td> <td class="src"><pre class="src"> conn = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 213</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 214</td> <td class="nbHitsCovered"> 23</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 214</td> <td class="nbHitsCovered"> 31</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 215</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 216</td> <td class="nbHits"> </td>
|
||||
@@ -443,30 +443,30 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 226</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> Set<VulnerableSoftware> getCPEs(String vendor, String product) {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 227</td> <td class="nbHitsCovered"> 52</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Set<VulnerableSoftware> cpe = <span class="keyword">new</span> HashSet<VulnerableSoftware>();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 228</td> <td class="nbHitsCovered"> 52</td> <td class="src"><pre class="src"> ResultSet rs = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 229</td> <td class="nbHitsCovered"> 52</td> <td class="src"><pre class="src"> PreparedStatement ps = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 227</td> <td class="nbHitsCovered"> 72</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Set<VulnerableSoftware> cpe = <span class="keyword">new</span> HashSet<VulnerableSoftware>();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 228</td> <td class="nbHitsCovered"> 72</td> <td class="src"><pre class="src"> ResultSet rs = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 229</td> <td class="nbHitsCovered"> 72</td> <td class="src"><pre class="src"> PreparedStatement ps = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 230</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 231</td> <td class="nbHitsCovered"> 52</td> <td class="src"><pre class="src"> ps = conn.prepareStatement(SELECT_CPE_ENTRIES);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 232</td> <td class="nbHitsCovered"> 52</td> <td class="src"><pre class="src"> ps.setString(1, vendor);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 233</td> <td class="nbHitsCovered"> 52</td> <td class="src"><pre class="src"> ps.setString(2, product);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 234</td> <td class="nbHitsCovered"> 52</td> <td class="src"><pre class="src"> rs = ps.executeQuery();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 231</td> <td class="nbHitsCovered"> 72</td> <td class="src"><pre class="src"> ps = conn.prepareStatement(SELECT_CPE_ENTRIES);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 232</td> <td class="nbHitsCovered"> 72</td> <td class="src"><pre class="src"> ps.setString(1, vendor);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 233</td> <td class="nbHitsCovered"> 72</td> <td class="src"><pre class="src"> ps.setString(2, product);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 234</td> <td class="nbHitsCovered"> 72</td> <td class="src"><pre class="src"> rs = ps.executeQuery();</pre></td></tr>
|
||||
<tr> <td class="numLine"> 235</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 236</td> <td class="nbHitsCovered"><a title="Line 236: Conditional coverage 100% (2/2)."> 3713</a></td> <td class="src"><pre class="src"> <a title="Line 236: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (rs.next()) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 237</td> <td class="nbHitsCovered"> 3661</td> <td class="src"><pre class="src"> <span class="keyword">final</span> VulnerableSoftware vs = <span class="keyword">new</span> VulnerableSoftware();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 238</td> <td class="nbHitsCovered"> 3661</td> <td class="src"><pre class="src"> vs.setCpe(rs.getString(1));</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 239</td> <td class="nbHitsCovered"> 3661</td> <td class="src"><pre class="src"> cpe.add(vs);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 240</td> <td class="nbHitsCovered"> 3661</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 236</td> <td class="nbHitsCovered"><a title="Line 236: Conditional coverage 100% (2/2)."> 4454</a></td> <td class="src"><pre class="src"> <a title="Line 236: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (rs.next()) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 237</td> <td class="nbHitsCovered"> 4382</td> <td class="src"><pre class="src"> <span class="keyword">final</span> VulnerableSoftware vs = <span class="keyword">new</span> VulnerableSoftware();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 238</td> <td class="nbHitsCovered"> 4382</td> <td class="src"><pre class="src"> vs.setCpe(rs.getString(1));</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 239</td> <td class="nbHitsCovered"> 4382</td> <td class="src"><pre class="src"> cpe.add(vs);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 240</td> <td class="nbHitsCovered"> 4382</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 241</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (SQLException ex) {</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 242</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> Logger.getLogger(CveDB.<span class="keyword">class</span>.getName()).log(Level.SEVERE, <span class="keyword">null</span>, ex);</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 243</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> } <span class="keyword">finally</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 244</td> <td class="nbHitsCovered"> 52</td> <td class="src"><pre class="src"> closeResultSet(rs);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 245</td> <td class="nbHitsCovered"> 52</td> <td class="src"><pre class="src"> closeStatement(ps);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 246</td> <td class="nbHitsCovered"> 52</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 247</td> <td class="nbHitsCovered"> 52</td> <td class="src"><pre class="src"> <span class="keyword">return</span> cpe;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 244</td> <td class="nbHitsCovered"> 72</td> <td class="src"><pre class="src"> closeResultSet(rs);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 245</td> <td class="nbHitsCovered"> 72</td> <td class="src"><pre class="src"> closeStatement(ps);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 246</td> <td class="nbHitsCovered"> 72</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 247</td> <td class="nbHitsCovered"> 72</td> <td class="src"><pre class="src"> <span class="keyword">return</span> cpe;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 248</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 249</td> <td class="nbHits"> </td>
|
||||
@@ -487,51 +487,51 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 257</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> List<Vulnerability> getVulnerabilities(String cpeStr) <span class="keyword">throws</span> DatabaseException {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 258</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> ResultSet rs = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 259</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> <span class="keyword">final</span> VulnerableSoftware cpe = <span class="keyword">new</span> VulnerableSoftware();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 258</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> ResultSet rs = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 259</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> <span class="keyword">final</span> VulnerableSoftware cpe = <span class="keyword">new</span> VulnerableSoftware();</pre></td></tr>
|
||||
<tr> <td class="numLine"> 260</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 261</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> cpe.parseName(cpeStr);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 261</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> cpe.parseName(cpeStr);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 262</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (UnsupportedEncodingException ex) {</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 263</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> Logger.getLogger(CveDB.<span class="keyword">class</span>.getName()).log(Level.FINEST, <span class="keyword">null</span>, ex);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 264</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 265</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> <span class="keyword">final</span> DependencyVersion detectedVersion = parseDependencyVersion(cpe);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 266</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> <span class="keyword">final</span> List<Vulnerability> vulnerabilities = <span class="keyword">new</span> ArrayList<Vulnerability>();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 264</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 265</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> <span class="keyword">final</span> DependencyVersion detectedVersion = parseDependencyVersion(cpe);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 266</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> <span class="keyword">final</span> List<Vulnerability> vulnerabilities = <span class="keyword">new</span> ArrayList<Vulnerability>();</pre></td></tr>
|
||||
<tr> <td class="numLine"> 267</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 268</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> PreparedStatement ps;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 269</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> <span class="keyword">final</span> HashSet<String> cveEntries = <span class="keyword">new</span> HashSet<String>();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 269</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> <span class="keyword">final</span> HashSet<String> cveEntries = <span class="keyword">new</span> HashSet<String>();</pre></td></tr>
|
||||
<tr> <td class="numLine"> 270</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 271</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> ps = conn.prepareStatement(SELECT_CVE_FROM_SOFTWARE);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 272</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> ps.setString(1, cpe.getVendor());</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 273</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> ps.setString(2, cpe.getProduct());</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 274</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> rs = ps.executeQuery();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 275</td> <td class="nbHitsCovered"><a title="Line 275: Conditional coverage 100% (2/2)."> 2976</a></td> <td class="src"><pre class="src"> <a title="Line 275: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (rs.next()) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 276</td> <td class="nbHitsCovered"> 2969</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String cveId = rs.getString(1);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 277</td> <td class="nbHitsCovered"> 2969</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String cpeId = rs.getString(2);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 278</td> <td class="nbHitsCovered"> 2969</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String previous = rs.getString(3);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 279</td> <td class="nbHitsCovered"><a title="Line 279: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> 2969</a></td> <td class="src"><pre class="src"> <a title="Line 279: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">if</span> (!cveEntries.contains(cveId) && isAffected(cpe.getVendor(), cpe.getProduct(), detectedVersion, cpeId, previous)) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 280</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> cveEntries.add(cveId);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 271</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> ps = conn.prepareStatement(SELECT_CVE_FROM_SOFTWARE);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 272</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> ps.setString(1, cpe.getVendor());</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 273</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> ps.setString(2, cpe.getProduct());</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 274</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> rs = ps.executeQuery();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 275</td> <td class="nbHitsCovered"><a title="Line 275: Conditional coverage 100% (2/2)."> 4500</a></td> <td class="src"><pre class="src"> <a title="Line 275: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (rs.next()) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 276</td> <td class="nbHitsCovered"> 4488</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String cveId = rs.getString(1);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 277</td> <td class="nbHitsCovered"> 4488</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String cpeId = rs.getString(2);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 278</td> <td class="nbHitsCovered"> 4488</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String previous = rs.getString(3);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 279</td> <td class="nbHitsCovered"><a title="Line 279: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> 4488</a></td> <td class="src"><pre class="src"> <a title="Line 279: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">if</span> (!cveEntries.contains(cveId) && isAffected(cpe.getVendor(), cpe.getProduct(), detectedVersion, cpeId, previous)) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 280</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> cveEntries.add(cveId);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 281</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 282</td> <td class="nbHitsCovered"> 2969</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 283</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> closeResultSet(rs);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 284</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> closeStatement(ps);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 285</td> <td class="nbHitsCovered"><a title="Line 285: Conditional coverage 100% (2/2)."> 7</a></td> <td class="src"><pre class="src"> <a title="Line 285: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (String cve : cveEntries) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 286</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Vulnerability v = getVulnerability(cve);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 287</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> vulnerabilities.add(v);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 288</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 282</td> <td class="nbHitsCovered"> 4488</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 283</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> closeResultSet(rs);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 284</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> closeStatement(ps);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 285</td> <td class="nbHitsCovered"><a title="Line 285: Conditional coverage 100% (2/2)."> 12</a></td> <td class="src"><pre class="src"> <a title="Line 285: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (String cve : cveEntries) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 286</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Vulnerability v = getVulnerability(cve);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 287</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> vulnerabilities.add(v);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 288</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 289</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 290</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (SQLException ex) {</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 291</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> DatabaseException(<span class="string">"Exception retrieving vulnerability for "</span> + cpeStr, ex);</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 292</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> } <span class="keyword">finally</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 293</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> closeResultSet(rs);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 294</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 295</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> <span class="keyword">return</span> vulnerabilities;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 293</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> closeResultSet(rs);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 294</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 295</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> <span class="keyword">return</span> vulnerabilities;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 296</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 297</td> <td class="nbHits"> </td>
|
||||
@@ -552,77 +552,77 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 305</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">private</span> Vulnerability getVulnerability(String cve) <span class="keyword">throws</span> DatabaseException {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 306</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> PreparedStatement psV = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 307</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> PreparedStatement psR = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 308</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> PreparedStatement psS = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 309</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> ResultSet rsV = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 310</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> ResultSet rsR = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 311</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> ResultSet rsS = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 312</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> Vulnerability vuln = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 306</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> PreparedStatement psV = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 307</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> PreparedStatement psR = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 308</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> PreparedStatement psS = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 309</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> ResultSet rsV = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 310</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> ResultSet rsR = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 311</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> ResultSet rsS = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 312</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> Vulnerability vuln = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 313</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 314</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> psV = conn.prepareStatement(SELECT_VULNERABILITY);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 315</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> psV.setString(1, cve);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 316</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> rsV = psV.executeQuery();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 317</td> <td class="nbHitsUncovered"><a title="Line 317: Conditional coverage 50% (1/2)."> 50</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 317: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (rsV.next()) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 318</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> vuln = <span class="keyword">new</span> Vulnerability();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 319</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> vuln.setName(cve);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 320</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> vuln.setDescription(rsV.getString(2));</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 321</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> String cwe = rsV.getString(3);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 322</td> <td class="nbHitsCovered"><a title="Line 322: Conditional coverage 100% (2/2)."> 50</a></td> <td class="src"><pre class="src"> <a title="Line 322: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (cwe != <span class="keyword">null</span>) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 323</td> <td class="nbHitsCovered"> 47</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String name = CweDB.getCweName(cwe);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 324</td> <td class="nbHitsCovered"><a title="Line 324: Conditional coverage 100% (2/2)."> 47</a></td> <td class="src"><pre class="src"> <a title="Line 324: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (name != <span class="keyword">null</span>) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 325</td> <td class="nbHitsCovered"> 45</td> <td class="src"><pre class="src"> cwe += <span class="string">" "</span> + name;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 314</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> psV = conn.prepareStatement(SELECT_VULNERABILITY);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 315</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> psV.setString(1, cve);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 316</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> rsV = psV.executeQuery();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 317</td> <td class="nbHitsUncovered"><a title="Line 317: Conditional coverage 50% (1/2)."> 59</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 317: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (rsV.next()) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 318</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> vuln = <span class="keyword">new</span> Vulnerability();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 319</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> vuln.setName(cve);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 320</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> vuln.setDescription(rsV.getString(2));</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 321</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> String cwe = rsV.getString(3);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 322</td> <td class="nbHitsCovered"><a title="Line 322: Conditional coverage 100% (2/2)."> 59</a></td> <td class="src"><pre class="src"> <a title="Line 322: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (cwe != <span class="keyword">null</span>) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 323</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String name = CweDB.getCweName(cwe);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 324</td> <td class="nbHitsCovered"><a title="Line 324: Conditional coverage 100% (2/2)."> 48</a></td> <td class="src"><pre class="src"> <a title="Line 324: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (name != <span class="keyword">null</span>) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 325</td> <td class="nbHitsCovered"> 46</td> <td class="src"><pre class="src"> cwe += <span class="string">" "</span> + name;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 326</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 327</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 328</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> <span class="keyword">final</span> <span class="keyword">int</span> cveId = rsV.getInt(1);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 329</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> vuln.setCwe(cwe);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 330</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> vuln.setCvssScore(rsV.getFloat(4));</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 331</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> vuln.setCvssAccessVector(rsV.getString(5));</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 332</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> vuln.setCvssAccessComplexity(rsV.getString(6));</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 333</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> vuln.setCvssAuthentication(rsV.getString(7));</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 334</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> vuln.setCvssConfidentialityImpact(rsV.getString(8));</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 335</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> vuln.setCvssIntegrityImpact(rsV.getString(9));</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 336</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> vuln.setCvssAvailabilityImpact(rsV.getString(10));</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 328</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> <span class="keyword">final</span> <span class="keyword">int</span> cveId = rsV.getInt(1);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 329</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> vuln.setCwe(cwe);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 330</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> vuln.setCvssScore(rsV.getFloat(4));</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 331</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> vuln.setCvssAccessVector(rsV.getString(5));</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 332</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> vuln.setCvssAccessComplexity(rsV.getString(6));</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 333</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> vuln.setCvssAuthentication(rsV.getString(7));</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 334</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> vuln.setCvssConfidentialityImpact(rsV.getString(8));</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 335</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> vuln.setCvssIntegrityImpact(rsV.getString(9));</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 336</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> vuln.setCvssAvailabilityImpact(rsV.getString(10));</pre></td></tr>
|
||||
<tr> <td class="numLine"> 337</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 338</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> psR = conn.prepareStatement(SELECT_REFERENCE);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 339</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> psR.setInt(1, cveId);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 340</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> rsR = psR.executeQuery();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 341</td> <td class="nbHitsCovered"><a title="Line 341: Conditional coverage 100% (2/2)."> 351</a></td> <td class="src"><pre class="src"> <a title="Line 341: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (rsR.next()) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 342</td> <td class="nbHitsCovered"> 301</td> <td class="src"><pre class="src"> vuln.addReference(rsR.getString(1), rsR.getString(2), rsR.getString(3));</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 338</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> psR = conn.prepareStatement(SELECT_REFERENCE);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 339</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> psR.setInt(1, cveId);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 340</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> rsR = psR.executeQuery();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 341</td> <td class="nbHitsCovered"><a title="Line 341: Conditional coverage 100% (2/2)."> 460</a></td> <td class="src"><pre class="src"> <a title="Line 341: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (rsR.next()) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 342</td> <td class="nbHitsCovered"> 401</td> <td class="src"><pre class="src"> vuln.addReference(rsR.getString(1), rsR.getString(2), rsR.getString(3));</pre></td></tr>
|
||||
<tr> <td class="numLine"> 343</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 344</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> psS = conn.prepareStatement(SELECT_SOFTWARE);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 345</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> psS.setInt(1, cveId);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 346</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> rsS = psS.executeQuery();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 344</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> psS = conn.prepareStatement(SELECT_SOFTWARE);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 345</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> psS.setInt(1, cveId);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 346</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> rsS = psS.executeQuery();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 347</td> <td class="nbHitsCovered"><a title="Line 347: Conditional coverage 100% (2/2)."> 2673</a></td> <td class="src"><pre class="src"> <a title="Line 347: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (rsS.next()) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 348</td> <td class="nbHitsCovered"> 2623</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String cpe = rsS.getString(1);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 349</td> <td class="nbHitsCovered"> 2623</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String prevVersion = rsS.getString(2);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 350</td> <td class="nbHitsCovered"><a title="Line 350: Conditional coverage 100% (2/2)."> 2623</a></td> <td class="src"><pre class="src"> <a title="Line 350: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (prevVersion == <span class="keyword">null</span>) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 351</td> <td class="nbHitsCovered"> 2586</td> <td class="src"><pre class="src"> vuln.addVulnerableSoftware(cpe);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 348</td> <td class="nbHitsCovered"> 2614</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String cpe = rsS.getString(1);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 349</td> <td class="nbHitsCovered"> 2614</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String prevVersion = rsS.getString(2);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 350</td> <td class="nbHitsCovered"><a title="Line 350: Conditional coverage 100% (2/2)."> 2614</a></td> <td class="src"><pre class="src"> <a title="Line 350: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (prevVersion == <span class="keyword">null</span>) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 351</td> <td class="nbHitsCovered"> 2572</td> <td class="src"><pre class="src"> vuln.addVulnerableSoftware(cpe);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 352</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> } <span class="keyword">else</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 353</td> <td class="nbHitsCovered"> 37</td> <td class="src"><pre class="src"> vuln.addVulnerableSoftware(cpe, prevVersion);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 353</td> <td class="nbHitsCovered"> 42</td> <td class="src"><pre class="src"> vuln.addVulnerableSoftware(cpe, prevVersion);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 354</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 355</td> <td class="nbHitsCovered"> 2623</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 355</td> <td class="nbHitsCovered"> 2614</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 356</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 357</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (SQLException ex) {</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 358</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> DatabaseException(<span class="string">"Error retrieving "</span> + cve, ex);</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 359</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> } <span class="keyword">finally</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 360</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> closeResultSet(rsV);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 361</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> closeResultSet(rsR);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 362</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> closeResultSet(rsS);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 363</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> closeStatement(psV);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 364</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> closeStatement(psR);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 365</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> closeStatement(psS);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 366</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 367</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> <span class="keyword">return</span> vuln;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 360</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> closeResultSet(rsV);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 361</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> closeResultSet(rsR);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 362</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> closeResultSet(rsS);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 363</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> closeStatement(psV);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 364</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> closeStatement(psR);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 365</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> closeStatement(psS);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 366</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 367</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> <span class="keyword">return</span> vuln;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 368</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 369</td> <td class="nbHits"> </td>
|
||||
@@ -809,15 +809,15 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 514</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> File getDataDirectory() <span class="keyword">throws</span> IOException {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 515</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> <span class="keyword">final</span> File path = Settings.getFile(Settings.KEYS.CVE_DATA_DIRECTORY);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 516</td> <td class="nbHitsCovered"><a title="Line 516: Conditional coverage 100% (2/2)."> 16</a></td> <td class="src"><pre class="src"> <a title="Line 516: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (!path.exists()) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 515</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> <span class="keyword">final</span> File path = Settings.getFile(Settings.KEYS.CVE_DATA_DIRECTORY);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 516</td> <td class="nbHitsCovered"><a title="Line 516: Conditional coverage 100% (2/2)."> 20</a></td> <td class="src"><pre class="src"> <a title="Line 516: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (!path.exists()) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 517</td> <td class="nbHitsUncovered"><a title="Line 517: Conditional coverage 50% (1/2)."> 1</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 517: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!path.mkdirs()) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 518</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> IOException(<span class="string">"Unable to create NVD CVE Data directory"</span>);</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 519</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 520</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 521</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> <span class="keyword">return</span> path;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 521</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> <span class="keyword">return</span> path;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 522</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 523</td> <td class="nbHits"> </td>
|
||||
@@ -923,18 +923,18 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 588</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">void</span> closeStatement(Statement statement) {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 589</td> <td class="nbHitsUncovered"><a title="Line 589: Conditional coverage 50% (1/2)."> 209</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 589: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (statement != <span class="keyword">null</span>) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 589</td> <td class="nbHitsUncovered"><a title="Line 589: Conditional coverage 50% (1/2)."> 261</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 589: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (statement != <span class="keyword">null</span>) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 590</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 591</td> <td class="nbHitsCovered"> 209</td> <td class="src"><pre class="src"> statement.close();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 591</td> <td class="nbHitsCovered"> 261</td> <td class="src"><pre class="src"> statement.close();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 592</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (SQLException ex) {</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 593</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> Logger.getLogger(CveDB.<span class="keyword">class</span></span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 594</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> .getName()).log(Level.FINEST, statement.toString(), ex);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 595</td> <td class="nbHitsCovered"> 209</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 595</td> <td class="nbHitsCovered"> 261</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 596</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 597</td> <td class="nbHitsCovered"> 209</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 597</td> <td class="nbHitsCovered"> 261</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 598</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 599</td> <td class="nbHits"> </td>
|
||||
@@ -951,18 +951,18 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 605</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">void</span> closeResultSet(ResultSet rs) {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 606</td> <td class="nbHitsUncovered"><a title="Line 606: Conditional coverage 50% (1/2)."> 216</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 606: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (rs != <span class="keyword">null</span>) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 606</td> <td class="nbHitsUncovered"><a title="Line 606: Conditional coverage 50% (1/2)."> 273</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 606: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (rs != <span class="keyword">null</span>) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 607</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 608</td> <td class="nbHitsCovered"> 216</td> <td class="src"><pre class="src"> rs.close();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 608</td> <td class="nbHitsCovered"> 273</td> <td class="src"><pre class="src"> rs.close();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 609</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (SQLException ex) {</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 610</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> Logger.getLogger(CveDB.<span class="keyword">class</span></span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 611</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> .getName()).log(Level.FINEST, rs.toString(), ex);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 612</td> <td class="nbHitsCovered"> 216</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 612</td> <td class="nbHitsCovered"> 273</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 613</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 614</td> <td class="nbHitsCovered"> 216</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 614</td> <td class="nbHitsCovered"> 273</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 615</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 616</td> <td class="nbHits"> </td>
|
||||
@@ -1035,24 +1035,24 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 655</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">boolean</span> isAffected(String vendor, String product, DependencyVersion identifiedVersion, String cpeId, String previous) {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 656</td> <td class="nbHitsCovered"> 1982</td> <td class="src"><pre class="src"> <span class="keyword">boolean</span> affected = <span class="keyword">false</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 657</td> <td class="nbHitsCovered"><a title="Line 657: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> 1982</a></td> <td class="src"><pre class="src"> <a title="Line 657: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">final</span> <span class="keyword">boolean</span> isStruts = <span class="string">"apache"</span>.equals(vendor) && <span class="string">"struts"</span>.equals(product);</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 658</td> <td class="nbHitsCovered"> 1982</td> <td class="src"><pre class="src"> <span class="keyword">final</span> DependencyVersion v = parseDependencyVersion(cpeId);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 659</td> <td class="nbHitsUncovered"><a title="Line 659: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> 1982</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 659: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> <span class="keyword">final</span> <span class="keyword">boolean</span> prevAffected = previous == <span class="keyword">null</span> ? <span class="keyword">false</span> : !previous.isEmpty();</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 660</td> <td class="nbHitsUncovered"><a title="Line 660: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> 1982</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 660: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> <span class="keyword">if</span> (identifiedVersion == <span class="keyword">null</span> || <span class="string">"-"</span>.equals(identifiedVersion.toString())) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 661</td> <td class="nbHitsUncovered"><a title="Line 661: Conditional coverage 0% (0/4) [each condition: 0%, 0%]."> 0</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 661: Conditional coverage 0% (0/4) [each condition: 0%, 0%]."> <span class="keyword">if</span> (v == <span class="keyword">null</span> || <span class="string">"-"</span>.equals(v.toString())) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 656</td> <td class="nbHitsCovered"> 3491</td> <td class="src"><pre class="src"> <span class="keyword">boolean</span> affected = <span class="keyword">false</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 657</td> <td class="nbHitsCovered"><a title="Line 657: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> 3491</a></td> <td class="src"><pre class="src"> <a title="Line 657: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">final</span> <span class="keyword">boolean</span> isStruts = <span class="string">"apache"</span>.equals(vendor) && <span class="string">"struts"</span>.equals(product);</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 658</td> <td class="nbHitsCovered"> 3491</td> <td class="src"><pre class="src"> <span class="keyword">final</span> DependencyVersion v = parseDependencyVersion(cpeId);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 659</td> <td class="nbHitsUncovered"><a title="Line 659: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> 3491</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 659: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> <span class="keyword">final</span> <span class="keyword">boolean</span> prevAffected = previous == <span class="keyword">null</span> ? <span class="keyword">false</span> : !previous.isEmpty();</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 660</td> <td class="nbHitsUncovered"><a title="Line 660: Conditional coverage 75% (3/4) [each condition: 50%, 100%]."> 3491</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 660: Conditional coverage 75% (3/4) [each condition: 50%, 100%]."> <span class="keyword">if</span> (identifiedVersion == <span class="keyword">null</span> || <span class="string">"-"</span>.equals(identifiedVersion.toString())) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 661</td> <td class="nbHitsUncovered"><a title="Line 661: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> 96</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 661: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> <span class="keyword">if</span> (v == <span class="keyword">null</span> || <span class="string">"-"</span>.equals(v.toString())) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 662</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> affected = <span class="keyword">true</span>;</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 663</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 664</td> <td class="nbHitsCovered"><a title="Line 664: Conditional coverage 100% (6/6) [each condition: 100%, 100%, 100%]."> 1982</a></td> <td class="src"><pre class="src"> <a title="Line 664: Conditional coverage 100% (6/6) [each condition: 100%, 100%, 100%]."> } <span class="keyword">else</span> <span class="keyword">if</span> (identifiedVersion.equals(v) || (prevAffected && identifiedVersion.compareTo(v) < 0)) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 665</td> <td class="nbHitsCovered"><a title="Line 665: Conditional coverage 100% (2/2)."> 50</a></td> <td class="src"><pre class="src"> <a title="Line 665: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (isStruts) { <span class="comment">//struts 2 vulns don't affect struts 1</span></a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 666</td> <td class="nbHitsUncovered"><a title="Line 666: Conditional coverage 50% (1/2)."> 38</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 666: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (identifiedVersion.getVersionParts().get(0).equals(v.getVersionParts().get(0))) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 667</td> <td class="nbHitsCovered"> 38</td> <td class="src"><pre class="src"> affected = <span class="keyword">true</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 664</td> <td class="nbHitsCovered"><a title="Line 664: Conditional coverage 100% (6/6) [each condition: 100%, 100%, 100%]."> 3395</a></td> <td class="src"><pre class="src"> <a title="Line 664: Conditional coverage 100% (6/6) [each condition: 100%, 100%, 100%]."> } <span class="keyword">else</span> <span class="keyword">if</span> (identifiedVersion.equals(v) || (prevAffected && identifiedVersion.compareTo(v) < 0)) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 665</td> <td class="nbHitsCovered"><a title="Line 665: Conditional coverage 100% (2/2)."> 81</a></td> <td class="src"><pre class="src"> <a title="Line 665: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (isStruts) { <span class="comment">//struts 2 vulns don't affect struts 1</span></a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 666</td> <td class="nbHitsCovered"><a title="Line 666: Conditional coverage 100% (2/2)."> 70</a></td> <td class="src"><pre class="src"> <a title="Line 666: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (identifiedVersion.getVersionParts().get(0).equals(v.getVersionParts().get(0))) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 667</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> affected = <span class="keyword">true</span>;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 668</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 669</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> } <span class="keyword">else</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 670</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> affected = <span class="keyword">true</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 670</td> <td class="nbHitsCovered"> 11</td> <td class="src"><pre class="src"> affected = <span class="keyword">true</span>;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 671</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 672</td> <td class="nbHits"> </td>
|
||||
@@ -1065,7 +1065,7 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> * might also introduce false positives.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 676</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 677</td> <td class="nbHitsCovered"> 1982</td> <td class="src"><pre class="src"> <span class="keyword">return</span> affected;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 677</td> <td class="nbHitsCovered"> 3491</td> <td class="src"><pre class="src"> <span class="keyword">return</span> affected;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 678</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 679</td> <td class="nbHits"> </td>
|
||||
@@ -1086,16 +1086,16 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 687</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">private</span> DependencyVersion parseDependencyVersion(String cpeStr) {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 688</td> <td class="nbHitsCovered"> 1982</td> <td class="src"><pre class="src"> <span class="keyword">final</span> VulnerableSoftware cpe = <span class="keyword">new</span> VulnerableSoftware();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 688</td> <td class="nbHitsCovered"> 3491</td> <td class="src"><pre class="src"> <span class="keyword">final</span> VulnerableSoftware cpe = <span class="keyword">new</span> VulnerableSoftware();</pre></td></tr>
|
||||
<tr> <td class="numLine"> 689</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 690</td> <td class="nbHitsCovered"> 1982</td> <td class="src"><pre class="src"> cpe.parseName(cpeStr);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 690</td> <td class="nbHitsCovered"> 3491</td> <td class="src"><pre class="src"> cpe.parseName(cpeStr);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 691</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (UnsupportedEncodingException ex) {</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 692</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//never going to happen.</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 693</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> Logger.getLogger(CveDB.<span class="keyword">class</span>.getName()).log(Level.FINEST, <span class="keyword">null</span>, ex);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 694</td> <td class="nbHitsCovered"> 1982</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 695</td> <td class="nbHitsCovered"> 1982</td> <td class="src"><pre class="src"> <span class="keyword">return</span> parseDependencyVersion(cpe);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 694</td> <td class="nbHitsCovered"> 3491</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 695</td> <td class="nbHitsCovered"> 3491</td> <td class="src"><pre class="src"> <span class="keyword">return</span> parseDependencyVersion(cpe);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 696</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 697</td> <td class="nbHits"> </td>
|
||||
@@ -1118,28 +1118,28 @@
|
||||
<td class="src"><pre class="src"> <span class="keyword">private</span> DependencyVersion parseDependencyVersion(VulnerableSoftware cpe) {</pre></td></tr>
|
||||
<tr> <td class="numLine"> 706</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> DependencyVersion cpeVersion;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 707</td> <td class="nbHitsUncovered"><a title="Line 707: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> 1989</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 707: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> <span class="keyword">if</span> (cpe.getVersion() != <span class="keyword">null</span> && cpe.getVersion().length() > 0) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 707</td> <td class="nbHitsUncovered"><a title="Line 707: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> 3503</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 707: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> <span class="keyword">if</span> (cpe.getVersion() != <span class="keyword">null</span> && cpe.getVersion().length() > 0) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 708</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> String versionText;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 709</td> <td class="nbHitsUncovered"><a title="Line 709: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> 1987</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 709: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> <span class="keyword">if</span> (cpe.getRevision() != <span class="keyword">null</span> && cpe.getRevision().length() > 0) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 710</td> <td class="nbHitsCovered"> 460</td> <td class="src"><pre class="src"> versionText = String.format(<span class="string">"%s.%s"</span>, cpe.getVersion(), cpe.getRevision());</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 709</td> <td class="nbHitsUncovered"><a title="Line 709: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> 3499</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 709: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> <span class="keyword">if</span> (cpe.getRevision() != <span class="keyword">null</span> && cpe.getRevision().length() > 0) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 710</td> <td class="nbHitsCovered"> 441</td> <td class="src"><pre class="src"> versionText = String.format(<span class="string">"%s.%s"</span>, cpe.getVersion(), cpe.getRevision());</pre></td></tr>
|
||||
<tr> <td class="numLine"> 711</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> } <span class="keyword">else</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 712</td> <td class="nbHitsCovered"> 1527</td> <td class="src"><pre class="src"> versionText = cpe.getVersion();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 712</td> <td class="nbHitsCovered"> 3058</td> <td class="src"><pre class="src"> versionText = cpe.getVersion();</pre></td></tr>
|
||||
<tr> <td class="numLine"> 713</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 714</td> <td class="nbHitsCovered"> 1987</td> <td class="src"><pre class="src"> cpeVersion = DependencyVersionUtil.parseVersion(versionText);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 715</td> <td class="nbHitsCovered"> 1987</td> <td class="src"><pre class="src"> } <span class="keyword">else</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 716</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> cpeVersion = <span class="keyword">new</span> DependencyVersion(<span class="string">"-"</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 714</td> <td class="nbHitsCovered"> 3499</td> <td class="src"><pre class="src"> cpeVersion = DependencyVersionUtil.parseVersion(versionText);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 715</td> <td class="nbHitsCovered"> 3499</td> <td class="src"><pre class="src"> } <span class="keyword">else</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 716</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> cpeVersion = <span class="keyword">new</span> DependencyVersion(<span class="string">"-"</span>);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 717</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 718</td> <td class="nbHitsCovered"> 1989</td> <td class="src"><pre class="src"> <span class="keyword">return</span> cpeVersion;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 718</td> <td class="nbHitsCovered"> 3503</td> <td class="src"><pre class="src"> <span class="keyword">return</span> cpeVersion;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 719</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 720</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
</table>
|
||||
|
||||
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 1.9.4.1 on 10/20/13 9:38 PM.</div>
|
||||
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 1.9.4.1 on 11/16/13 1:26 PM.</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user