mirror of
https://git.yoctoproject.org/poky
synced 2026-04-19 15:32:13 +02:00
gst-plugins-good: fix integer overrun for mulawdec
There might be more than 65535 samples in a chunk of data, so use 32 bit integer instead of 16 bit. (From OE-Core rev: 60de6e5d9d3dec482256ea4db8837204ca3ba628) Signed-off-by: Wang Zidan <b50113@freescale.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
fd1aacc798
commit
036d9aba20
@@ -0,0 +1,47 @@
|
||||
From ce94b2c2b91b6db190c121860e12a6afafce7ae1 Mon Sep 17 00:00:00 2001
|
||||
From: Roland Krikava <rkrikava@gmail.com>
|
||||
Date: Fri, 2 Nov 2012 12:38:44 -0400
|
||||
Subject: [PATCH 407/440] mulawdec: fix integer overrun
|
||||
|
||||
There might be more than 65535 samples in a chunk of data.
|
||||
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=687469
|
||||
|
||||
Commit - 3be45f70220310ec1c60d819f90b5f2ae03b5d83 in 0.10 branch
|
||||
|
||||
Upstream Status: Backported
|
||||
|
||||
Signed-off-by: Roland Krikava <rkrikava@gmail.com>
|
||||
---
|
||||
gst/law/mulaw-conversion.c | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/gst/law/mulaw-conversion.c b/gst/law/mulaw-conversion.c
|
||||
index 8afae80..190a9f5 100644
|
||||
--- a/gst/law/mulaw-conversion.c
|
||||
+++ b/gst/law/mulaw-conversion.c
|
||||
@@ -51,9 +51,10 @@ mulaw_encode (gint16 * in, guint8 * out, gint numsamples)
|
||||
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
|
||||
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7
|
||||
};
|
||||
- gint16 sign, exponent, mantissa, i;
|
||||
+ gint16 sign, exponent, mantissa;
|
||||
gint16 sample;
|
||||
guint8 ulawbyte;
|
||||
+ gint i;
|
||||
|
||||
for (i = 0; i < numsamples; i++) {
|
||||
sample = in[i];
|
||||
@@ -102,7 +103,8 @@ mulaw_decode (guint8 * in, gint16 * out, gint numsamples)
|
||||
static gint16 exp_lut[8] = { 0, 132, 396, 924, 1980, 4092, 8316, 16764 };
|
||||
gint16 sign, exponent, mantissa;
|
||||
guint8 ulawbyte;
|
||||
- gint16 linear, i;
|
||||
+ gint16 linear;
|
||||
+ gint i;
|
||||
|
||||
for (i = 0; i < numsamples; i++) {
|
||||
ulawbyte = in[i];
|
||||
--
|
||||
1.7.9.5
|
||||
|
||||
@@ -26,9 +26,10 @@ DEPENDS += "gst-plugins-base gconf cairo libpng zlib libid3tag flac \
|
||||
|
||||
inherit gettext gconf
|
||||
|
||||
SRC_URI += "file://0001-v4l2-fix-build-with-recent-kernels-the-v4l2_buffer-i.patch"
|
||||
SRC_URI += "file://0001-v4l2_calls-define-V4L2_CID_HCENTER-and-V4L2_CID_VCEN.patch"
|
||||
|
||||
SRC_URI += "file://0001-v4l2-fix-build-with-recent-kernels-the-v4l2_buffer-i.patch \
|
||||
file://0001-v4l2_calls-define-V4L2_CID_HCENTER-and-V4L2_CID_VCEN.patch \
|
||||
file://0407-mulawdec-fix-integer-overrun.patch \
|
||||
"
|
||||
EXTRA_OECONF += "--disable-aalib --disable-esd --disable-shout2 --disable-libcaca --disable-hal \
|
||||
--disable-examples --disable-taglib"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user