create_unique_session_value hat immer falsch auf Eindeutigkeit der Nummer geprüft
authorMoritz Bunkus <m.bunkus@linet-services.de>
Tue, 17 May 2011 11:52:35 +0000 (13:52 +0200)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Mon, 20 Jun 2011 16:19:39 +0000 (18:19 +0200)
SL/Auth.pm

index b1e4b25..76414e8 100644 (file)
@@ -730,7 +730,7 @@ sub create_unique_sesion_value {
   my $key                   = "$$-" . ($now[0] * 1000000 + $now[1]) . "-";
   $self->{unique_counter} ||= 0;
 
-  $self->{unique_counter}++ while exists $self->{SESSION}->{$key . $self->{unique_counter}};
+  $self->{unique_counter}++ while exists $self->{SESSION}->{$key . ($self->{unique_counter} + 1)};
   $self->{unique_counter}++;
 
   $value  = { expiration => $params{expiration} ? ($now[0] + $params{expiration}) * 1000000 + $now[1] : undef,