]> git.dolda2000.com Git - ashd.git/commitdiff
ratequeue: Fix rehash bug again.
authorFredrik Tolf <fredrik@dolda2000.com>
Sat, 31 Aug 2024 14:29:22 +0000 (16:29 +0200)
committerFredrik Tolf <fredrik@dolda2000.com>
Sat, 31 Aug 2024 14:29:22 +0000 (16:29 +0200)
src/ratequeue.c

index a05187af54754f735bb12b107c58468de2efb159..c349f18275b4831bca06b3b7082d235a7cc89b86 100644 (file)
@@ -160,12 +160,13 @@ static void rehash(int nlen)
     if(nlen <= SBUCKETS) {
        nlen = SBUCKETS;
        new = sbuckets;
-       memset(sbuckets, 0, sizeof(sbuckets));
     } else {
        new = szmalloc(sizeof(*new) * (1 << nlen));
     }
     if(nlen == hashlen)
        return;
+    if(new == sbuckets)
+       memset(sbuckets, 0, sizeof(sbuckets));
     assert(old != new);
     pl = 1 << hashlen; nl = 1 << nlen; m = nl - 1;
     for(i = 0; i < pl; i++) {