summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/jni/android_hardware_Radio.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/core/jni/android_hardware_Radio.cpp b/core/jni/android_hardware_Radio.cpp
index 42ceec416590..397e67bab488 100644
--- a/core/jni/android_hardware_Radio.cpp
+++ b/core/jni/android_hardware_Radio.cpp
@@ -313,12 +313,14 @@ static jint convertProgramInfoFromNative(JNIEnv *env,
ALOGV("%s", __FUNCTION__);
int jStatus;
jobject jMetadata = NULL;
- if (nProgramInfo->metadata != NULL) {
- ALOGV("%s metadata %p", __FUNCTION__, nProgramInfo->metadata);
- jStatus = convertMetadataFromNative(env, &jMetadata, nProgramInfo->metadata);
- if (jStatus < 0) {
- return jStatus;
- }
+
+ if (nProgramInfo == nullptr || nProgramInfo->metadata == nullptr) {
+ return (jint)RADIO_STATUS_BAD_VALUE;
+ }
+
+ jStatus = convertMetadataFromNative(env, &jMetadata, nProgramInfo->metadata);
+ if (jStatus < 0) {
+ return jStatus;
}
ALOGV("%s channel %d tuned %d", __FUNCTION__, nProgramInfo->channel, nProgramInfo->tuned);