File: 0022.patch

package info (click to toggle)
thunderbird 1%3A143.0.1-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 4,703,968 kB
  • sloc: cpp: 7,770,492; javascript: 5,943,842; ansic: 3,918,754; python: 1,418,263; xml: 653,354; asm: 474,045; java: 183,079; sh: 111,238; makefile: 20,410; perl: 14,359; objc: 13,059; yacc: 4,583; pascal: 3,405; lex: 1,720; ruby: 999; exp: 762; sql: 715; awk: 580; php: 436; lisp: 430; sed: 69; csh: 10
file content (26 lines) | stat: -rw-r--r-- 1,115 bytes parent folder | download | duplicates (17)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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)