Browse Source

Security: adjust package controller based on code review

* remove unused pagination
* fix advisories matching current version
* fix constraint matching condition
Stephan Vock 5 years ago
parent
commit
efb8d2e089
1 changed files with 5 additions and 5 deletions
  1. 5 5
      src/Packagist/WebBundle/Controller/PackageController.php

+ 5 - 5
src/Packagist/WebBundle/Controller/PackageController.php

@@ -1152,8 +1152,8 @@ class PackageController extends Controller
         $securityAdvisories = $repo->getPackageSecurityAdvisories($name);
         $advisoryCount = count($securityAdvisories);
 
-        $paginator = new Pagerfanta(new FixedAdapter($advisoryCount, $securityAdvisories));
-        $data['securityAdvisories'] = $paginator;
+        $data = [];
+        $data['securityAdvisories'] = $securityAdvisories;
         $data['count'] = $advisoryCount;
         $data['name'] = $name;
 
@@ -1164,11 +1164,11 @@ class PackageController extends Controller
                 'id' => $versionId,
             ]);
             if ($version) {
+                $versionParser = new VersionParser();
                 foreach ($securityAdvisories as $advisory) {
-                    $versionParser = new VersionParser();
                     $affectedVersionConstraint = $versionParser->parseConstraints($advisory['affectedVersions']);
-                    if (!isset($data['hasVersionSecurityAdvisories'][$version->getId()]) && $affectedVersionConstraint->matches(new Constraint('=', $version->getNormalizedVersion()))) {
-                        $data['matchingAdvisories'] = $advisory['id'];
+                    if ($affectedVersionConstraint->matches(new Constraint('=', $version->getNormalizedVersion()))) {
+                        $data['matchingAdvisories'][] = $advisory['id'];
                     }
                 }
             }