sh_hash foreach循环中如果调用了remove，导致free，导致next字段被污染