[Security] [ACL] Fix finding ACLs from ObjectIdentity's with different types #7567

Closed
wants to merge 3 commits into
from

Projects

None yet

3 participants

@gordalina
Q A
Bug fix? yes
New feature? no
BC breaks? no
Deprecations? no
Tests pass? yes
Fixed tickets
License MIT
Doc PR

If more than one ObjectIdentity with different Type (Class name) is given to AclProvider::findAcls() it would throw an exception stating that it could not find the ACLs

This fixes this issue which was introduced in 2.2.0-RC3 - see commit 3c3a90b

/cc @iBiryukov @schmittjoh

@iBiryukov iBiryukov commented on the diff Apr 5, 2013
src/Symfony/Component/Security/Acl/Dbal/AclProvider.php
@@ -263,9 +263,6 @@ protected function getAncestorLookupSql(array $batch)
for ($i = 0; $i < $count; $i++) {
if (!isset($types[$batch[$i]->getType()])) {
$types[$batch[$i]->getType()] = true;
- if ($count > 1) {
@iBiryukov
iBiryukov Apr 5, 2013

This is clearly wrong. The original intention here was a to carry out a small optimisation.
So, if we have two or more different entries in $types, then their is no need to do further search (it's sufficient for the if/else statement further below).

The code should be something like this:

if(sizeof($types) > 1) break;
@iBiryukov

Great! 👍

@fabpot fabpot added a commit that referenced this pull request Apr 7, 2013
@fabpot fabpot merged branch gordalina/multiple-classes-oids-acls (PR #7567)
This PR was submitted for the master branch but it was merged into the 2.2 branch instead (closes #7567).

Discussion
----------

[Security] [ACL] Fix finding ACLs from ObjectIdentity's with different types

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        |

If more than one ObjectIdentity with different Type (Class name) is given to AclProvider::findAcls() it would throw an exception stating that it could not find the ACLs

This fixes this issue which was introduced in 2.2.0-RC3 - see commit 3c3a90b

/cc @iBiryukov @schmittjoh

Commits
-------

8b0bb57 [Security] [ACL] Fix finding ACLs from ObjectIdentity's with different types
7379b9e
@fabpot fabpot closed this Apr 7, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment