hal: fix misc audio hal errors
Fix misc audio hal errors.
CRs-Fixed: 2436822
Change-Id: I078656c5a7a3a5a97c8044e716c5ca0fe8ff3ef4
diff --git a/hal/acdb.c b/hal/acdb.c
index 8f3ea83..7394906 100644
--- a/hal/acdb.c
+++ b/hal/acdb.c
@@ -23,7 +23,7 @@
#include <stdlib.h>
#include <dlfcn.h>
-#include <cutils/log.h>
+#include <log/log.h>
#include <cutils/list.h>
#include <time.h>
#include "acdb.h"
diff --git a/hal/ahal_config_helper.cpp b/hal/ahal_config_helper.cpp
index 9bdd785..753d8a8 100644
--- a/hal/ahal_config_helper.cpp
+++ b/hal/ahal_config_helper.cpp
@@ -62,8 +62,8 @@
dlsym(handle, "getAudioHalExtConfigs");
if (!getAHalConfigs) {
ALOGE("%s: Could not find symbol: %s", __FUNCTION__, dlerror());
- handle = nullptr;
dlclose(handle);
+ handle = nullptr;
}
}
diff --git a/hal/audio_extn/adsp_hdlr.c b/hal/audio_extn/adsp_hdlr.c
index 3b073c3..31a6b16 100644
--- a/hal/audio_extn/adsp_hdlr.c
+++ b/hal/audio_extn/adsp_hdlr.c
@@ -42,7 +42,7 @@
#include <stdlib.h>
#include <sys/resource.h>
#include <sys/prctl.h>
-#include <cutils/log.h>
+#include <log/log.h>
#include <cutils/sched_policy.h>
#include <system/thread_defs.h>
#include <sound/asound.h>
diff --git a/hal/audio_extn/audio_extn.c b/hal/audio_extn/audio_extn.c
index 8edf1f3..431c248 100644
--- a/hal/audio_extn/audio_extn.c
+++ b/hal/audio_extn/audio_extn.c
@@ -111,7 +111,7 @@
<target name>-<sound card name>-<form factor>-snd-card
parse target name, sound card name and form factor
*/
- char *snd_card_name = strdup(in_snd_card_name);
+ char *snd_card_name = NULL;
char *tmp = NULL;
char *device = NULL;
char *snd_card = NULL;
@@ -122,6 +122,7 @@
ALOGE("%s: snd_card_name passed is NULL", __func__);
goto on_error;
}
+ snd_card_name = strdup(in_snd_card_name);
device = strtok_r(snd_card_name, "-", &tmp);
if (device == NULL) {
diff --git a/hal/audio_extn/auto_hal.c b/hal/audio_extn/auto_hal.c
index f57e885..c70dc17 100644
--- a/hal/audio_extn/auto_hal.c
+++ b/hal/audio_extn/auto_hal.c
@@ -31,7 +31,7 @@
#include <errno.h>
#include <pthread.h>
-#include <cutils/log.h>
+#include <log/log.h>
#include <math.h>
#include <audio_hw.h>
#include "audio_extn.h"
diff --git a/hal/audio_extn/bt_hal.c b/hal/audio_extn/bt_hal.c
index 6441bef..2020cba 100644
--- a/hal/audio_extn/bt_hal.c
+++ b/hal/audio_extn/bt_hal.c
@@ -31,7 +31,7 @@
/*#define LOG_NDEBUG 0*/
#include <inttypes.h>
-#include <cutils/log.h>
+#include <log/log.h>
#include <audio_hw.h>
#include <audio_extn.h>
#include <platform_api.h>
diff --git a/hal/audio_extn/compress_capture.c b/hal/audio_extn/compress_capture.c
index f0aeec2..c1b77b9 100644
--- a/hal/audio_extn/compress_capture.c
+++ b/hal/audio_extn/compress_capture.c
@@ -26,7 +26,7 @@
#include <stdlib.h>
#include <dlfcn.h>
#include <cutils/str_parms.h>
-#include <cutils/log.h>
+#include <log/log.h>
#include "audio_hw.h"
//#include "platform.h"
diff --git a/hal/audio_extn/compress_in.c b/hal/audio_extn/compress_in.c
index 56905d6..6cf6b81 100644
--- a/hal/audio_extn/compress_in.c
+++ b/hal/audio_extn/compress_in.c
@@ -31,10 +31,9 @@
/*#define LOG_NDEBUG 0*/
#define LOG_NDDEBUG 0
-#include <cutils/log.h>
#include <cutils/properties.h>
#include <cutils/str_parms.h>
-#include <cutils/log.h>
+#include <log/log.h>
#include <pthread.h>
#include "audio_hw.h"
diff --git a/hal/audio_extn/dev_arbi.c b/hal/audio_extn/dev_arbi.c
index 9c5382a..d83d6bd 100644
--- a/hal/audio_extn/dev_arbi.c
+++ b/hal/audio_extn/dev_arbi.c
@@ -32,7 +32,7 @@
#define LOG_NDDEBUG 0
#include <errno.h>
-#include <cutils/log.h>
+#include <log/log.h>
#include <fcntl.h>
#include "audio_hw.h"
#include "platform.h"
diff --git a/hal/audio_extn/dolby.c b/hal/audio_extn/dolby.c
index ffd256f..906c234 100644
--- a/hal/audio_extn/dolby.c
+++ b/hal/audio_extn/dolby.c
@@ -22,10 +22,10 @@
//#define LOG_NDDEBUG 0
#include <errno.h>
#include <cutils/properties.h>
+#include <cutils/str_parms.h>
#include <stdlib.h>
#include <dlfcn.h>
-#include <cutils/str_parms.h>
-#include <cutils/log.h>
+#include <log/log.h>
#include "audio_hw.h"
#include "platform.h"
diff --git a/hal/audio_extn/dts_eagle.c b/hal/audio_extn/dts_eagle.c
index 7ae760b..3771a9d 100644
--- a/hal/audio_extn/dts_eagle.c
+++ b/hal/audio_extn/dts_eagle.c
@@ -21,7 +21,7 @@
#include <math.h>
#include <stdlib.h>
#include <fcntl.h>
-#include <cutils/log.h>
+#include <log/log.h>
#include <cutils/properties.h>
#include <cutils/str_parms.h>
#include <sys/ioctl.h>
diff --git a/hal/audio_extn/edid.c b/hal/audio_extn/edid.c
index 175842f..ffb0d64 100644
--- a/hal/audio_extn/edid.c
+++ b/hal/audio_extn/edid.c
@@ -23,10 +23,10 @@
#include <errno.h>
#include <cutils/properties.h>
+#include <cutils/str_parms.h>
#include <stdlib.h>
#include <dlfcn.h>
-#include <cutils/str_parms.h>
-#include <cutils/log.h>
+#include <log/log.h>
#include "audio_hw.h"
#include "platform.h"
diff --git a/hal/audio_extn/ext_hw_plugin.c b/hal/audio_extn/ext_hw_plugin.c
index f6c4799..45ba1d7 100644
--- a/hal/audio_extn/ext_hw_plugin.c
+++ b/hal/audio_extn/ext_hw_plugin.c
@@ -33,7 +33,7 @@
#include <errno.h>
#include <pthread.h>
#include <dlfcn.h>
-#include <cutils/log.h>
+#include <log/log.h>
#include <audio_hw.h>
#include "audio_extn.h"
#include "platform_api.h"
diff --git a/hal/audio_extn/ffv.c b/hal/audio_extn/ffv.c
index a5b15cc..b97eedc 100644
--- a/hal/audio_extn/ffv.c
+++ b/hal/audio_extn/ffv.c
@@ -39,10 +39,10 @@
#include <errno.h>
#include <cutils/properties.h>
+#include <cutils/str_parms.h>
#include <stdlib.h>
#include <dlfcn.h>
-#include <cutils/str_parms.h>
-#include <cutils/log.h>
+#include <log/log.h>
#include <pthread.h>
#include <sys/resource.h>
#include <unistd.h>
diff --git a/hal/audio_extn/fm.c b/hal/audio_extn/fm.c
index f4b9d8f..b4e9ff2 100644
--- a/hal/audio_extn/fm.c
+++ b/hal/audio_extn/fm.c
@@ -23,7 +23,7 @@
#include <errno.h>
#include <math.h>
-#include <cutils/log.h>
+#include <log/log.h>
#include <unistd.h>
#include "audio_hw.h"
diff --git a/hal/audio_extn/gef.c b/hal/audio_extn/gef.c
index cfed6b3..ca1a16b 100644
--- a/hal/audio_extn/gef.c
+++ b/hal/audio_extn/gef.c
@@ -33,7 +33,7 @@
#include <errno.h>
#include <math.h>
-#include <cutils/log.h>
+#include <log/log.h>
#include <fcntl.h>
#include <dirent.h>
#include "audio_hw.h"
diff --git a/hal/audio_extn/hw_loopback.c b/hal/audio_extn/hw_loopback.c
index 3d6525a..5366066 100644
--- a/hal/audio_extn/hw_loopback.c
+++ b/hal/audio_extn/hw_loopback.c
@@ -51,16 +51,16 @@
#include <dlfcn.h>
#include <sys/resource.h>
#include <sys/prctl.h>
+#include <cutils/atomic.h>
#include <cutils/properties.h>
#include <cutils/str_parms.h>
-#include <cutils/log.h>
-#include <cutils/atomic.h>
+#include <cutils/sched_policy.h>
+#include <log/log.h>
#include "audio_utils/primitives.h"
#include "audio_hw.h"
#include "platform_api.h"
#include <platform.h>
#include <system/thread_defs.h>
-#include <cutils/sched_policy.h>
#include "audio_extn.h"
#include <sound/compress_params.h>
#include <sound/compress_offload.h>
diff --git a/hal/audio_extn/ip_hdlr_intf.c b/hal/audio_extn/ip_hdlr_intf.c
index 649c99f..3d5e1fe 100755
--- a/hal/audio_extn/ip_hdlr_intf.c
+++ b/hal/audio_extn/ip_hdlr_intf.c
@@ -46,7 +46,7 @@
#include <errno.h>
#include <stdlib.h>
#include <dlfcn.h>
-#include <cutils/log.h>
+#include <log/log.h>
#include <sound/asound.h>
#include <cutils/properties.h>
diff --git a/hal/audio_extn/keep_alive.c b/hal/audio_extn/keep_alive.c
index 20214aa..79f2bb0 100644
--- a/hal/audio_extn/keep_alive.c
+++ b/hal/audio_extn/keep_alive.c
@@ -32,7 +32,7 @@
#include <cutils/properties.h>
#include <stdlib.h>
-#include <cutils/log.h>
+#include <log/log.h>
#include "audio_hw.h"
#include "audio_extn.h"
#include "platform_api.h"
diff --git a/hal/audio_extn/listen.c b/hal/audio_extn/listen.c
index b98a429..5c3bbce 100644
--- a/hal/audio_extn/listen.c
+++ b/hal/audio_extn/listen.c
@@ -32,7 +32,7 @@
#include <stdbool.h>
#include <stdlib.h>
#include <dlfcn.h>
-#include <cutils/log.h>
+#include <log/log.h>
#ifdef AUDIO_LISTEN_ENABLED
#include <listen_types.h>
#endif
diff --git a/hal/audio_extn/passthru.c b/hal/audio_extn/passthru.c
index 14f8b72..a59717c 100644
--- a/hal/audio_extn/passthru.c
+++ b/hal/audio_extn/passthru.c
@@ -31,15 +31,15 @@
/*#define LOG_NDEBUG 0*/
#include <stdlib.h>
#include <cutils/atomic.h>
+#include <cutils/properties.h>
#include <cutils/str_parms.h>
-#include <cutils/log.h>
+#include <log/log.h>
#include <unistd.h>
#include <pthread.h>
#include "audio_hw.h"
#include "audio_extn.h"
#include "platform_api.h"
#include <platform.h>
-#include <cutils/properties.h>
#include "sound/compress_params.h"
diff --git a/hal/audio_extn/pm.c b/hal/audio_extn/pm.c
index c6ef242..5b3aa4d 100644
--- a/hal/audio_extn/pm.c
+++ b/hal/audio_extn/pm.c
@@ -31,7 +31,7 @@
/*#define LOG_NDEBUG 0*/
#include "pm.h"
-#include <cutils/log.h>
+#include <log/log.h>
#include <cutils/str_parms.h>
#ifdef DYNAMIC_LOG_ENABLED
diff --git a/hal/audio_extn/pm.h b/hal/audio_extn/pm.h
index daa376e..f78c3aa 100644
--- a/hal/audio_extn/pm.h
+++ b/hal/audio_extn/pm.h
@@ -39,7 +39,7 @@
#include "audio_hw.h"
#include <platform.h>
#include <cutils/properties.h>
-#include <cutils/log.h>
+#include <log/log.h>
/* Client name to be registered with PM */
diff --git a/hal/audio_extn/sndmonitor.c b/hal/audio_extn/sndmonitor.c
index 2bcb175..11578fc 100644
--- a/hal/audio_extn/sndmonitor.c
+++ b/hal/audio_extn/sndmonitor.c
@@ -466,6 +466,7 @@
char val[32] = {0};
bool is_cpe = ((s->card >= CPE_MAGIC_NUM) && (s->card < SLPI_MAGIC_NUM));
bool is_slpi = (s->card == SLPI_MAGIC_NUM);
+ char *key = NULL;
/*
* cpe actual card num is (card - CPE_MAGIC_NUM), so subtract accordingly.
* SLPI actual fd num is (card - SLPI_MAGIC_NUM), so subtract accordingly.
@@ -473,9 +474,10 @@
snprintf(val, sizeof(val), "%d,%s",
s->card - (is_cpe ? CPE_MAGIC_NUM : (is_slpi ? SLPI_MAGIC_NUM : 0)),
status == CARD_STATUS_ONLINE ? "ONLINE" : "OFFLINE");
- if (str_parms_add_str(params,
- is_cpe ? "CPE_STATUS" : (is_slpi ? "SLPI_STATUS" : "SND_CARD_STATUS"),
- val) < 0)
+ key = (is_cpe ? "CPE_STATUS" :
+ (is_slpi ? "SLPI_STATUS" :
+ "SND_CARD_STATUS"));
+ if (str_parms_add_str(params, key, val) < 0)
return -1;
int ret = notify(params);
diff --git a/hal/audio_extn/utils.c b/hal/audio_extn/utils.c
index 6a74a4c..ab752cf 100644
--- a/hal/audio_extn/utils.c
+++ b/hal/audio_extn/utils.c
@@ -2274,7 +2274,7 @@
kConfigLocationList[i],
file_name);
if (F_OK == access(full_config_path, 0)) {
- strcpy(file_name, full_config_path);
+ strlcpy(file_name, full_config_path, MIXER_PATH_MAX_LENGTH);
return true;
}
}
diff --git a/hal/audio_hw.c b/hal/audio_hw.c
index ab99b47..e7a37fb 100644
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -8332,13 +8332,13 @@
else
audio_extn_sound_trigger_update_ec_ref_status(false);
- error_log_destroy(in->error_log);
- in->error_log = NULL;
-
if (in == NULL) {
ALOGE("%s: audio_stream_in ptr is NULL", __func__);
return;
}
+ error_log_destroy(in->error_log);
+ in->error_log = NULL;
+
if (in->usecase == USECASE_COMPRESS_VOIP_CALL) {
pthread_mutex_lock(&adev->lock);
diff --git a/hal/audio_hw_extn_api.c b/hal/audio_hw_extn_api.c
index 44591c9..af73375 100644
--- a/hal/audio_hw_extn_api.c
+++ b/hal/audio_hw_extn_api.c
@@ -33,7 +33,7 @@
#include <inttypes.h>
#include <errno.h>
-#include <cutils/log.h>
+#include <log/log.h>
#include <hardware/audio.h>
#include "sound/compress_params.h"
diff --git a/hal/msm8916/hw_info.c b/hal/msm8916/hw_info.c
index 40e39a2..eb9a483 100644
--- a/hal/msm8916/hw_info.c
+++ b/hal/msm8916/hw_info.c
@@ -33,7 +33,7 @@
#include <stdlib.h>
#include <dlfcn.h>
-#include <cutils/log.h>
+#include <log/log.h>
#include <cutils/str_parms.h>
#include "audio_hw.h"
#include "platform.h"
diff --git a/hal/msm8916/platform.c b/hal/msm8916/platform.c
index 4b0921b..45fadf5 100644
--- a/hal/msm8916/platform.c
+++ b/hal/msm8916/platform.c
@@ -25,7 +25,7 @@
#include <dlfcn.h>
#include <fcntl.h>
#include <sys/ioctl.h>
-#include <cutils/log.h>
+#include <log/log.h>
#include <cutils/properties.h>
#include <cutils/str_parms.h>
#include <audio_hw.h>
diff --git a/hal/msm8960/platform.c b/hal/msm8960/platform.c
index f7a7ebf..f21602d 100644
--- a/hal/msm8960/platform.c
+++ b/hal/msm8960/platform.c
@@ -23,7 +23,7 @@
#include <stdlib.h>
#include <dlfcn.h>
-#include <cutils/log.h>
+#include <log/log.h>
#include <cutils/properties.h>
#include <audio_hw.h>
#include <platform_api.h>
diff --git a/hal/msm8974/platform.c b/hal/msm8974/platform.c
index 079d64c..a428f9a 100644
--- a/hal/msm8974/platform.c
+++ b/hal/msm8974/platform.c
@@ -3945,6 +3945,10 @@
}
device = (struct operator_specific_device *)calloc(1, sizeof(struct operator_specific_device));
+ if (device == NULL) {
+ ALOGE("%s: memory allocation failed", __func__);
+ return;
+ }
device->operator = strdup(operator);
device->mixer_path = strdup(mixer_path);
@@ -6760,12 +6764,18 @@
value, len);
if (err >= 0) {
struct operator_info *info;
- char *str = value;
+ char *str = value, *context = NULL;
char *name;
str_parms_del(parms, PLATFORM_CONFIG_KEY_OPERATOR_INFO);
info = (struct operator_info *)calloc(1, sizeof(struct operator_info));
- name = strtok(str, ";");
+ name = strtok_r(str, ";", &context);
+ if ((info == NULL) || (name == NULL)) {
+ ret = -EINVAL;
+ ALOGE("%s invalid info or name", __func__);
+ goto done;
+ }
+
info->name = strdup(name);
info->mccmnc = strdup(str + strlen(name) + 1);
diff --git a/hal/voice_extn/compress_voip.c b/hal/voice_extn/compress_voip.c
index 003a3ed..e4bc210 100644
--- a/hal/voice_extn/compress_voip.c
+++ b/hal/voice_extn/compress_voip.c
@@ -27,7 +27,7 @@
#include <sys/time.h>
#include <stdlib.h>
#include <math.h>
-#include <cutils/log.h>
+#include <log/log.h>
#include <cutils/str_parms.h>
#include <cutils/properties.h>
@@ -816,4 +816,4 @@
ALOGV("%s: exit: status(%d)", __func__, ret);
return ret;
-}
\ No newline at end of file
+}
diff --git a/post_proc/hw_accelerator.c b/post_proc/hw_accelerator.c
index fae5807..583f001 100644
--- a/post_proc/hw_accelerator.c
+++ b/post_proc/hw_accelerator.c
@@ -32,7 +32,7 @@
/*#define LOG_NDEBUG 0*/
#include <cutils/list.h>
-#include <cutils/log.h>
+#include <log/log.h>
#include <fcntl.h>
#include <tinyalsa/asoundlib.h>
#include <sound/audio_effects.h>
diff --git a/post_proc/ma_listener.c b/post_proc/ma_listener.c
index 04a9047..9271dc7 100644
--- a/post_proc/ma_listener.c
+++ b/post_proc/ma_listener.c
@@ -23,7 +23,7 @@
#include <pthread.h>
#include <unistd.h>
#include <cutils/list.h>
-#include <cutils/log.h>
+#include <log/log.h>
#include <hardware/audio_effect.h>
#include <audio-base.h>
diff --git a/qahw_api/test/qap_wrapper_extn.c b/qahw_api/test/qap_wrapper_extn.c
index d311570..de954bf 100644
--- a/qahw_api/test/qap_wrapper_extn.c
+++ b/qahw_api/test/qap_wrapper_extn.c
@@ -27,8 +27,8 @@
#include <time.h>
#include <cutils/properties.h>
#include <cutils/list.h>
-#include <cutils/log.h>
#include <cutils/str_parms.h>
+#include <log/log.h>
#include <system/audio.h>
#include <qap_api.h>
#include <qti_audio.h>