]> 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:01:34 +0000 (18:01 +0000)
r=glob,a=glob

Bugzilla/Bug.pm

index 7b97d1ff8690827d9ba29e2ff7c4b3f65123ca7d..a49656e07caae7a9a75cc2b75f10c0b8295a1e64 100644 (file)
@@ -2905,8 +2905,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 {