PR#5518: segfault with lazy empty array

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12194 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
master
Damien Doligez 2012-03-06 19:17:29 +00:00
parent f0b95f3349
commit 74694a0b04
1 changed files with 7 additions and 2 deletions

View File

@ -160,9 +160,14 @@ void caml_oldify_one (value v, value *p)
Assert (tag == Forward_tag);
if (Is_block (f)){
vv = Is_in_value_area(f);
if (vv) {
if (Is_young (f)){
vv = 1;
ft = Tag_val (Hd_val (f) == 0 ? Field (f, 0) : f);
}else{
vv = Is_in_value_area(f);
if (vv){
ft = Tag_val (f);
}
}
}
if (!vv || ft == Forward_tag || ft == Lazy_tag || ft == Double_tag){