From 8c8863d7aae90b770441fb9d3e37884b5e4902cf Mon Sep 17 00:00:00 2001 From: Tomasz Wasilczyk Date: Fri, 6 Jan 2017 14:18:34 -0800 Subject: [PATCH] Make metadata field mandatory for program info struct. Test: VTS, manual Change-Id: I2630e246eba3980ae6517d92cab3a9fc55d8d7b4 --- core/jni/android_hardware_Radio.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/core/jni/android_hardware_Radio.cpp b/core/jni/android_hardware_Radio.cpp index 42ceec416590a..397e67bab4883 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);