]> dgit.raspbian.org Git - dovecot.git/commitdiff
[PATCH 08/12] doveadm: Fix ubsan unsigned integer overflow error
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Thu, 16 Apr 2026 11:27:42 +0000 (13:27 +0200)
committerNoah Meyerhans <noahm@debian.org>
Wed, 16 Sep 2026 19:06:35 +0000 (15:06 -0400)
Gbp-Pq: Name 0008-doveadm-Fix-ubsan-unsigned-integer-overflow-error.patch

src/doveadm/doveadm-who.c

index 2fbef7bb94f436630535aac098e76a80d4fbb8b7..ecdbb88bc793423343297fdeb616e62b288f131e 100644 (file)
@@ -49,10 +49,10 @@ static unsigned int who_user_hash(const struct who_user *user)
        unsigned int hash = str_hash(user->service);
 
        if (user->username[0] != '\0')
-               hash += str_hash(user->username);
+               hash ^= str_hash(user->username);
        else {
                who_user_ip(user, &ip);
-               hash += net_ip_hash(&ip);
+               hash ^= net_ip_hash(&ip);
        }
        return hash;
 }