RFR(S): 7178846: IterateThroughHeap: heap_iteration_callback passes a negative size for big array

Staffan Larsen staffan at larsen.se
Mon Jun 25 01:05:47 PDT 2012


Please review the following fix.

Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7178846
Webrev: http://cr.openjdk.java.net/~sla/7178846/webrev.01/

Class CallbackWrapper in jvmtiTagMap.cpp has a missing cast which leads to an integer overflow.

The code in question is
    _obj_size = _o->size() * wordSize;

_obj_size is a jlong
_o->size() is an int
wordSize is an int

Changing to:
    _obj_size = (jlong)_o->size() * wordSize;

fixes the overflow.

Thanks,
/Staffan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20120625/94558ebd/attachment.html 


More information about the serviceability-dev mailing list