8008574: [parfait] Null pointer deference in hotspot/src/share/vm/runtime/frame.cpp

Tue, 05 Mar 2013 04:24:33 -0800

author
morris
date
Tue, 05 Mar 2013 04:24:33 -0800
changeset 4690
c40fbf634c90
parent 4689
bf06968a8a00
child 4692
4f553e24b3b5

8008574: [parfait] Null pointer deference in hotspot/src/share/vm/runtime/frame.cpp
Summary: fix null pointer
Reviewed-by: kvn

src/share/vm/runtime/frame.cpp file | annotate | diff | comparison | revisions
     1.1 --- a/src/share/vm/runtime/frame.cpp	Mon Mar 04 13:15:01 2013 -0800
     1.2 +++ b/src/share/vm/runtime/frame.cpp	Tue Mar 05 04:24:33 2013 -0800
     1.3 @@ -1070,7 +1070,12 @@
     1.4  
     1.5    // First consult the ADLC on where it puts parameter 0 for this signature.
     1.6    VMReg reg = SharedRuntime::name_for_receiver();
     1.7 -  oop r = *caller.oopmapreg_to_location(reg, reg_map);
     1.8 +  oop* oop_adr = caller.oopmapreg_to_location(reg, reg_map);
     1.9 +  if (oop_adr == NULL) {
    1.10 +    guarantee(oop_adr != NULL, "bad register save location");
    1.11 +    return NULL;
    1.12 +  }
    1.13 +  oop r = *oop_adr;
    1.14    assert(Universe::heap()->is_in_or_null(r), err_msg("bad receiver: " INTPTR_FORMAT " (" INTX_FORMAT ")", (intptr_t) r, (intptr_t) r));
    1.15    return r;
    1.16  }

mercurial