Merge "[DO NOT MERGE] Throw exception if slot has invalid offset" into mnc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
d2699d009b
@@ -182,6 +182,10 @@ static jbyteArray nativeGetBlob(JNIEnv* env, jclass clazz, jlong windowPtr,
|
||||
if (type == CursorWindow::FIELD_TYPE_BLOB || type == CursorWindow::FIELD_TYPE_STRING) {
|
||||
size_t 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);
|
||||
if (!byteArray) {
|
||||
env->ExceptionClear();
|
||||
@@ -217,6 +221,10 @@ static jstring nativeGetString(JNIEnv* env, jclass clazz, jlong windowPtr,
|
||||
if (type == CursorWindow::FIELD_TYPE_STRING) {
|
||||
size_t 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) {
|
||||
return gEmptyString;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user