aom: Fix over reads in aom_convolve_copy_neon()

From 80d175034c13f910002818c26f07f59f46d17336 Mon Sep 17 00:00:00 2001
From: Wan-Teh Chang <[EMAIL REDACTED]>
Date: Mon, 8 Jan 2024 17:05:47 -0800
Subject: [PATCH] Fix over reads in aom_convolve_copy_neon()

Bug: aomedia:3535
Bug: b:317646516
Change-Id: Id5502ec6acb2e8813e605bbd2ba8c879418ccf9e
(cherry picked from commit e2ba9f09f2003da0a8117f4e5f2d6ab537dba650)
---
 aom_dsp/arm/aom_convolve_copy_neon.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/aom_dsp/arm/aom_convolve_copy_neon.c b/aom_dsp/arm/aom_convolve_copy_neon.c
index d746f9e4d8..325d6f29ff 100644
--- a/aom_dsp/arm/aom_convolve_copy_neon.c
+++ b/aom_dsp/arm/aom_convolve_copy_neon.c
@@ -9,6 +9,7 @@
  */
 
 #include <arm_neon.h>
+#include <string.h>
 
 #include "config/aom_dsp_rtcd.h"
 
@@ -38,13 +39,13 @@ void aom_convolve_copy_neon(const uint8_t *src, ptrdiff_t src_stride,
     }
   } else if (!(w & 0x03)) {
     for (y = 0; y < h; ++y) {
-      vst1_lane_u32((uint32_t *)(dst), vreinterpret_u32_u8(vld1_u8(src)), 0);
+      memcpy(dst, src, sizeof(uint32_t));
       src += src_stride;
       dst += dst_stride;
     }
   } else if (!(w & 0x01)) {
     for (y = 0; y < h; ++y) {
-      vst1_lane_u16((uint16_t *)(dst), vreinterpret_u16_u8(vld1_u8(src)), 0);
+      memcpy(dst, src, sizeof(uint16_t));
       src += src_stride;
       dst += dst_stride;
     }