From: David Mitchell Date: Fri, 28 Feb 2014 14:37:13 +0000 (+0000) Subject: copy xhv_rand and xhv_last_rand in threads clone X-Git-Tag: upstream/5.20.0~287 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=186460900eddc03b1e140296f25d2a6bf5fb9ec9;p=platform%2Fupstream%2Fperl.git copy xhv_rand and xhv_last_rand in threads clone valgrind complains about these fields being uninitialised when cloned into a new thread, because they aren't copied. It's fairly harmless, since these fields are just used to perturb hash key iteration; but for completeness, clone these fields too. --- diff --git a/sv.c b/sv.c index a0e0c5f..b7563b9 100644 --- a/sv.c +++ b/sv.c @@ -12616,6 +12616,10 @@ S_sv_dup_common(pTHX_ const SV *const sstr, CLONE_PARAMS *const param) daux->xhv_fill_lazy = saux->xhv_fill_lazy; daux->xhv_aux_flags = saux->xhv_aux_flags; +#ifdef PERL_HASH_RANDOMIZE_KEYS + daux->xhv_rand = saux->xhv_rand; + daux->xhv_last_rand = saux->xhv_last_rand; +#endif daux->xhv_riter = saux->xhv_riter; daux->xhv_eiter = saux->xhv_eiter ? he_dup(saux->xhv_eiter,