Merge tag 'LA.UM.9.1.r1-14200-SMxxx0.QSSI14.0' into staging/lineage-20.0_merge-LA.UM.9.1.r1-14200-SMxxx0.QSSI14.0

"LA.UM.9.1.r1-14200-SMxxx0.QSSI14.0"

# By Manish Chaturvedi
# Via Linux Build Service Account (1) and Manish Chaturvedi (1)
* tag 'LA.UM.9.1.r1-14200-SMxxx0.QSSI14.0':
  audio-hal: oob read when doing the typecase

Change-Id: Ieecc865509d86a226bb5967465368cf36d441bef
diff --git a/post_proc/virtualizer.c b/post_proc/virtualizer.c
index 6c08bd7..30942f5 100644
--- a/post_proc/virtualizer.c
+++ b/post_proc/virtualizer.c
@@ -15,6 +15,11 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
+ *
+ * Changes from Qualcomm Innovation Center are provided under the following license:
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
  */
 
 #define LOG_TAG "offload_effect_virtualizer"
@@ -400,6 +405,11 @@
         break;
     case VIRTUALIZER_PARAM_FORCE_VIRTUALIZATION_MODE:
     {
+        if(p->vsize != sizeof(audio_devices_t)){
+            ALOGE("%s: VIRTUALIZER_PARAM_FORCE_VIRTUALIZATION_MODE :  p->vsize != sizeof(audio_devices_t) , sending -EINVAL", __func__);
+            p->status = -EINVAL;
+            break;
+        }
         const audio_devices_t device = *(audio_devices_t *)value;
         if (0 != virtualizer_force_virtualization_mode(virt_ctxt, device)) {
             p->status = -EINVAL;