hal : Fix input validation errors
fix miscellaneous errors and add null check
to avoid following errors
673141, 673142, 673153, 673154, 673155
1944609, 1944610
Change-Id: Ica531084375af8404472566a0a664fd0b7f41dd7
diff --git a/hal/msm8974/platform.c b/hal/msm8974/platform.c
index 759f889..b98cc73 100644
--- a/hal/msm8974/platform.c
+++ b/hal/msm8974/platform.c
@@ -1108,14 +1108,14 @@
if(property_get_bool("use.qti.sw.alac.decoder", false)) {
ALOGD("Alac software decoder is available...removing alac from DSP decoder list");
- strncpy(dsp_only_decoders_mime[count],"none",5);
+ strlcpy(dsp_only_decoders_mime[count],"none",5);
}
} else if (!strncmp(MEDIA_MIMETYPE_AUDIO_APE, dsp_only_decoders_mime[count],
strlen(dsp_only_decoders_mime[count]))) {
if(property_get_bool("use.qti.sw.ape.decoder", false)) {
ALOGD("APE software decoder is available...removing ape from DSP decoder list");
- strncpy(dsp_only_decoders_mime[count],"none",5);
+ strlcpy(dsp_only_decoders_mime[count],"none",5);
}
}
}
@@ -1304,10 +1304,12 @@
int result;
char value[PROPERTY_VALUE_MAX];
cvd_version = calloc(1, MAX_CVD_VERSION_STRING_SIZE);
- if (!cvd_version)
+ if (!cvd_version) {
ALOGE("Failed to allocate cvd version");
- else
+ return -1;
+ } else {
get_cvd_version(cvd_version, my_data->adev);
+ }
property_get("audio.ds1.metainfo.key",value,"0");
key = atoi(value);
@@ -2122,11 +2124,14 @@
int native_audio_set_params(struct platform_data *platform,
struct str_parms *parms, char *value, int len)
{
- int ret = 0;
+ int ret = -1;
struct audio_usecase *usecase;
struct listnode *node;
int mode = NATIVE_AUDIO_MODE_INVALID;
+ if (!value || !parms)
+ return ret;
+
ret = str_parms_get_str(parms, AUDIO_PARAMETER_KEY_NATIVE_AUDIO_MODE,
value, len);
if (ret >= 0) {