diff options
Diffstat (limited to 'user/gst-plugins-bad/fix-arm-test-alignment.patch')
-rw-r--r-- | user/gst-plugins-bad/fix-arm-test-alignment.patch | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/user/gst-plugins-bad/fix-arm-test-alignment.patch b/user/gst-plugins-bad/fix-arm-test-alignment.patch new file mode 100644 index 000000000..1a03eafa7 --- /dev/null +++ b/user/gst-plugins-bad/fix-arm-test-alignment.patch @@ -0,0 +1,35 @@ +From 57a1296d5913b222be87ccee1ae981b84931a7da Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com> +Date: Tue, 13 Jun 2023 01:29:14 +0100 +Subject: [PATCH 2/2] asfmux: fix potentially unaligned write on 32-bit ARM + +Fixes #2665 +--- + .../gst-plugins-bad/gst/asfmux/gstasfobjects.c | 12 ++++-------- + 1 file changed, 4 insertions(+), 8 deletions(-) + +diff --git a/subprojects/gst-plugins-bad/gst/asfmux/gstasfobjects.c b/subprojects/gst-plugins-bad/gst/asfmux/gstasfobjects.c +index d9739826384..fa0f2849d17 100644 +--- a/gst/asfmux/gstasfobjects.c ++++ b/gst/asfmux/gstasfobjects.c +@@ -311,14 +311,10 @@ gst_asf_put_time (guint8 * buf, guint64 time) + void + gst_asf_put_guid (guint8 * buf, Guid guid) + { +- guint32 *aux32 = (guint32 *) buf; +- guint16 *aux16 = (guint16 *) & (buf[4]); +- guint64 *aux64 = (guint64 *) & (buf[8]); +- *aux32 = GUINT32_TO_LE (guid.v1); +- *aux16 = GUINT16_TO_LE (guid.v2); +- aux16 = (guint16 *) & (buf[6]); +- *aux16 = GUINT16_TO_LE (guid.v3); +- *aux64 = GUINT64_TO_BE (guid.v4); ++ GST_WRITE_UINT32_LE (buf + 0, guid.v1); ++ GST_WRITE_UINT16_LE (buf + 4, guid.v2); ++ GST_WRITE_UINT16_LE (buf + 6, guid.v3); ++ GST_WRITE_UINT64_BE (buf + 8, guid.v4); + } + + /** +-- +GitLab |