summaryrefslogtreecommitdiff
path: root/hv.c
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2005-12-31 16:57:32 +0000
committerNicholas Clark <nick@ccl4.org>2005-12-31 16:57:32 +0000
commit2e58978ba658da6c974603284c681a91f2905990 (patch)
treece369eb6137bff01539b4f8720b901e779521d37 /hv.c
parent7440661e2628bf13f68b1828cf423db52f268294 (diff)
downloadperl-2e58978ba658da6c974603284c681a91f2905990.tar.gz
Calling Perl_hv_clear_placeholders while the hash iterator was active
would turn lazy delete on, causing the hash to become corrupted at the next iterator change. p4raw-id: //depot/perl@26551
Diffstat (limited to 'hv.c')
-rw-r--r--hv.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/hv.c b/hv.c
index 7452b1ecb0..69c951cfab 100644
--- a/hv.c
+++ b/hv.c
@@ -1617,7 +1617,7 @@ Perl_hv_clear_placeholders(pTHX_ HV *hv)
*oentry = HeNEXT(entry);
if (first && !*oentry)
HvFILL(hv)--; /* This linked list is now empty. */
- if (HvEITER_get(hv))
+ if (entry == HvEITER_get(hv))
HvLAZYDEL_on(hv);
else
hv_free_ent(hv, entry);