Skip to content

Commit 3deca55

Browse files
committed
do not overallocate in zaphod32_hash
We don't use it, but it should be fixed regardless to sync with upstream which might.
1 parent 0e2b709 commit 3deca55

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

zaphod32_hash.h

+9-7
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,7 @@ void zaphod32_seed_state (
154154
ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
155155
ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
156156
ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
157+
157158
/* now that we have scrambled we do some mixing to avalanche the
158159
* state bits to gether */
159160
ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
@@ -165,12 +166,13 @@ void zaphod32_seed_state (
165166
ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
166167
ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
167168
ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
168-
/* and one final mix */
169-
ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE 3/3");
170-
ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE 3/3");
171-
ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE 3/3");
172-
ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE 3/3");
173-
ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE 3/3");
169+
170+
/* and a thorough final mix */
171+
ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
172+
ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
173+
ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
174+
ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
175+
ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
174176

175177
}
176178

@@ -277,7 +279,7 @@ ZAPHOD32_STATIC_INLINE U32 zaphod32_hash(
277279
const U8 *key,
278280
const STRLEN key_len
279281
) {
280-
U32 state[1796];
282+
U32 state[3];
281283
zaphod32_seed_state(seed_ch,(U8*)state);
282284
return zaphod32_hash_with_state((U8*)state,key,key_len);
283285
}

0 commit comments

Comments
 (0)