diff options
| -rw-r--r-- | WebKit/android/WebCoreSupport/UrlInterceptResponse.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/WebKit/android/WebCoreSupport/UrlInterceptResponse.cpp b/WebKit/android/WebCoreSupport/UrlInterceptResponse.cpp index ab00ba6..1126609 100644 --- a/WebKit/android/WebCoreSupport/UrlInterceptResponse.cpp +++ b/WebKit/android/WebCoreSupport/UrlInterceptResponse.cpp @@ -101,10 +101,16 @@ UrlInterceptResponse::UrlInterceptResponse(JNIEnv* env, jobject response) { jstring mimeStr = (jstring) env->GetObjectField(response, mimeType); jstring encodingStr = (jstring) env->GetObjectField(response, encoding); - m_mimeType.assign(env->GetStringUTFChars(mimeStr, NULL), - env->GetStringUTFLength(mimeStr)); - m_encoding.assign(env->GetStringUTFChars(encodingStr, NULL), - env->GetStringUTFLength(encodingStr)); + if (mimeStr) { + m_mimeType.assign(env->GetStringUTFChars(mimeStr, NULL), + env->GetStringUTFLength(mimeStr)); + env->ReleaseStringUTFChars(mimeStr, NULL); + } + if (encodingStr) { + m_encoding.assign(env->GetStringUTFChars(encodingStr, NULL), + env->GetStringUTFLength(encodingStr)); + env->ReleaseStringUTFChars(encodingStr, NULL); + } env->DeleteLocalRef(javaResponse); env->DeleteLocalRef(mimeStr); |
