{"push_id":787645663,"size":1,"distinct_size":1,"ref":"refs/heads/aosp-5.1","head":"69383ebee68c8ba697f5a0c0aba7bcfe8fae3ed5","before":"1c8e8950cfca6b76254e3cdf4d1b03c677879970","commits":[{"sha":"69383ebee68c8ba697f5a0c0aba7bcfe8fae3ed5","author":{"email":"4549553b4794e9a95161f2097bc9ca3975abcb7c@google.com","name":"Hans Boehm"},"message":"Reduce risk of memory corruption due to finalization.\n\nMany classes in graphics/java and elsewhere deallocate native memory\nin a finalizer on the assumption that instance methods can no longer\nbe called once the finalizer has been called.  This is incorrect if\nthe object can be used, possibly indirectly, from another finalizer,\npossibly one in the application.\n\nThis is the initial installment of a patch to cause such post-finalization\nuses to at least see a null pointer rather than causing memory corruption\nby accessing deallocated native memory. This should make it possible to\nidentify and fix such finalization ordering issues.\n\nThere are more graphics classes that need this treatment, and probably\nmany more in other subsystems.\n\nThis solution is < 100% effective if finalizers can be invoked\nconcurrently.  We currently promise that they aren't.\n\n(In my opinion, the real cause here is a language spec bug.  But that ship\nhas sailed.)\n\nBug: 18178237\nChange-Id: I844cf1e0fbb190407389c4f8e8f072752cca6198","distinct":true,"url":"https://api.github.com/repos/F-AOSP/platform_frameworks_base/commits/69383ebee68c8ba697f5a0c0aba7bcfe8fae3ed5"}]}