OSDN Git Service

Ensure all fields of AutoBufferPointer are initialized
authorOrion Hodson <oth@google.com>
Mon, 15 Apr 2019 15:14:51 +0000 (16:14 +0100)
committerOrion Hodson <oth@google.com>
Tue, 16 Apr 2019 10:29:02 +0000 (11:29 +0100)
commit4174b7691f5c667598dc74ac80829a1bffd9bd4a
tree56aa809bf5bbcac1c499e0f27242a5c99548cd57
parentdf573a62108d001dad9be8c66386561f58b6de15
Ensure all fields of AutoBufferPointer are initialized

In the process of revising libnativehelper interface, the
initialization of the fArray field was dropped. This change fixes
this and adds regression tests.

In writing the tests, it became apparent that the AutoBufferPointer
destructor would crash if the underlying buffer was heap array backed
and the buffer position was non-zero. ReleasePrimitiveArrayCritical
was called with the element corresponding to the current position
rather than the first element.

Bug: b/130390512
Test: atest FrameworksCoreTests:android.graphics.BitmapTest

(cherry picked from commit e522c99430ec9ee0b4daa588dbcaea4824bc3f70)

Merged-In: I319512aaede7ba8af5d013c9281417695abf9099
Change-Id: I319512aaede7ba8af5d013c9281417695abf9099
core/jni/android_nio_utils.cpp
core/jni/android_nio_utils.h
core/tests/coretests/src/android/graphics/BitmapTest.java