Merge "[DO NOT MERGE] Throw exception if slot has invalid offset" into lmp-mr1-dev
am: e1766acb41
Change-Id: I5bfc6d7e47772f0aabcc0567e52c6534ba6815c9
This commit is contained in:
@@ -180,6 +180,10 @@ static jbyteArray nativeGetBlob(JNIEnv* env, jclass clazz, jlong windowPtr,
|
|||||||
if (type == CursorWindow::FIELD_TYPE_BLOB || type == CursorWindow::FIELD_TYPE_STRING) {
|
if (type == CursorWindow::FIELD_TYPE_BLOB || type == CursorWindow::FIELD_TYPE_STRING) {
|
||||||
size_t size;
|
size_t size;
|
||||||
const void* value = window->getFieldSlotValueBlob(fieldSlot, &size);
|
const void* value = window->getFieldSlotValueBlob(fieldSlot, &size);
|
||||||
|
if (!value) {
|
||||||
|
throw_sqlite3_exception(env, "Native could not read blob slot");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
jbyteArray byteArray = env->NewByteArray(size);
|
jbyteArray byteArray = env->NewByteArray(size);
|
||||||
if (!byteArray) {
|
if (!byteArray) {
|
||||||
env->ExceptionClear();
|
env->ExceptionClear();
|
||||||
@@ -215,6 +219,10 @@ static jstring nativeGetString(JNIEnv* env, jclass clazz, jlong windowPtr,
|
|||||||
if (type == CursorWindow::FIELD_TYPE_STRING) {
|
if (type == CursorWindow::FIELD_TYPE_STRING) {
|
||||||
size_t sizeIncludingNull;
|
size_t sizeIncludingNull;
|
||||||
const char* value = window->getFieldSlotValueString(fieldSlot, &sizeIncludingNull);
|
const char* value = window->getFieldSlotValueString(fieldSlot, &sizeIncludingNull);
|
||||||
|
if (!value) {
|
||||||
|
throw_sqlite3_exception(env, "Native could not read string slot");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
if (sizeIncludingNull <= 1) {
|
if (sizeIncludingNull <= 1) {
|
||||||
return gEmptyString;
|
return gEmptyString;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user