]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 1095244: DB crash when adding an alias that differs only in case from an existing...
authorDavid Lawrence <dkl@mozilla.com>
Mon, 8 Dec 2014 18:00:17 +0000 (18:00 +0000)
committerDavid Lawrence <dkl@mozilla.com>
Mon, 8 Dec 2014 18:00:17 +0000 (18:00 +0000)
r=glob,a=glob

Bugzilla/Bug.pm

index aec7c1e82d00e921f7b59e7683427bdaefb4fc95..73ba62a3b80127282924952433c045be62f3f457 100644 (file)
@@ -2910,8 +2910,19 @@ sub add_alias {
     return if !$alias;
     my $aliases = $self->_check_alias($alias);
     $alias = $aliases->[0];
-    my $bug_aliases = $self->alias;
-    push(@$bug_aliases, $alias) if !grep($_ eq $alias, @$bug_aliases);
+    my @new_aliases;
+    my $found = 0;
+    foreach my $old_alias (@{ $self->alias }) {
+        if (lc($old_alias) eq lc($alias)) {
+            push(@new_aliases, $alias);
+            $found = 1;
+        }
+        else {
+            push(@new_aliases, $old_alias);
+        }
+    }
+    push(@new_aliases, $alias) if !$found;
+    $self->{alias} = \@new_aliases;
 }
 
 sub remove_alias {