зеркало из https://github.com/mozilla/gecko-dev.git
30 строки
1.1 KiB
Diff
30 строки
1.1 KiB
Diff
From: Dan Minor <dminor@mozilla.com>
|
|
Date: Wed, 9 Oct 2019 20:12:00 +0000
|
|
Subject: Bug 1587159 - Fix undefined shift in g722_encode.c; r=ng
|
|
|
|
Left shifting a negative value results in undefined behaviour. It is safer to
|
|
multiply in this case.
|
|
|
|
Differential Revision: https://phabricator.services.mozilla.com/D48751
|
|
Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/385d660fac359c907986e08d1d89ab5a353f30b2
|
|
---
|
|
modules/third_party/g722/g722_encode.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/modules/third_party/g722/g722_encode.c b/modules/third_party/g722/g722_encode.c
|
|
index 10a5bcfe7c..fedf9f5961 100644
|
|
--- a/modules/third_party/g722/g722_encode.c
|
|
+++ b/modules/third_party/g722/g722_encode.c
|
|
@@ -74,7 +74,7 @@ static void block4(G722EncoderState *s, int band, int d)
|
|
/* Block 4, UPPOL2 */
|
|
for (i = 0; i < 3; i++)
|
|
s->band[band].sg[i] = s->band[band].p[i] >> 15;
|
|
- wd1 = saturate(s->band[band].a[1] << 2);
|
|
+ wd1 = saturate(s->band[band].a[1] * 4);
|
|
|
|
wd2 = (s->band[band].sg[0] == s->band[band].sg[1]) ? -wd1 : wd1;
|
|
if (wd2 > 32767)
|
|
--
|
|
2.34.1
|
|
|