diff --git a/docs/changelog/6.x.x.txt b/docs/changelog/6.x.x.txt index cb56df887..cd5fed54f 100644 --- a/docs/changelog/6.x.x.txt +++ b/docs/changelog/6.x.x.txt @@ -25,6 +25,7 @@ - fix [ 1397890 ] Can't click directly to page 2+ of a thread - fix [ 1328895 ] Page Redirect Asset Help File needs to be changed - fix [ 1423815 ] snippet v6.8.5 + - fix [ 1421056 ] LDAP Recursive Property Bug 6.8.5 - fix [ 1396957 ] Insufficient privileges check on the DataForm diff --git a/lib/WebGUI/LDAPLink.pm b/lib/WebGUI/LDAPLink.pm index 5339add6e..380abfb01 100644 --- a/lib/WebGUI/LDAPLink.pm +++ b/lib/WebGUI/LDAPLink.pm @@ -269,17 +269,18 @@ sub recurseProperty { return if($msg->code || $msg->count == 0); #loop through the results for (my $i = 0; $i < $msg->count; $i++) { - my $entry = $msg->entry($i); - #push all the values stored in the property on to the array stack - my $properties = $entry->get_value($property,asref => 1); - push(@{$array},@{$properties}); - #Loop through the recursive keys - if($property ne $recProperty) { - $properties = $entry->get_value($recProperty,asref => 1); - } - foreach my $prop (@{$properties}) { - $self->recurseProperty($prop,$array,$property,$recProperty,$count); - } + my $entry = $msg->entry($i); + #push all the values stored in the property on to the array stack + my $properties = $entry->get_value($property,asref => 1); + $properties = [] unless ref $properties eq "ARRAY"; + push(@{$array},@{$properties}); + #Loop through the recursive keys + if($property ne $recProperty) { + $properties = $entry->get_value($recProperty,asref => 1); + } + foreach my $prop (@{$properties}) { + $self->recurseProperty($prop,$array,$property,$recProperty,$count); + } } }