OSDN Git Service
(root)
/
android-x86
/
frameworks-av.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
f51115b
)
libstagefright: fix possible overflow in amrwbenc.
author
Wei Jia
<wjia@google.com>
Wed, 12 Aug 2015 17:08:41 +0000
(10:08 -0700)
committer
Wei Jia
<wjia@google.com>
Thu, 13 Aug 2015 16:49:35 +0000
(16:49 +0000)
Bug:
23142203
Change-Id: I309df51e4df6412655f04cc093d792bf6c7944f7
(cherry picked from commit
9dd01777aa14bbb90a6cdccf97383bb4e3d717a5
)
media/libstagefright/codecs/amrwbenc/src/util.c
patch
|
blob
|
history
diff --git
a/media/libstagefright/codecs/amrwbenc/src/util.c
b/media/libstagefright/codecs/amrwbenc/src/util.c
index
76ab1b1
..
333140d
100644
(file)
--- a/
media/libstagefright/codecs/amrwbenc/src/util.c
+++ b/
media/libstagefright/codecs/amrwbenc/src/util.c
@@
-35,9
+35,10
@@
void Set_zero(
)
{
Word32 num = (Word32)L;
-
do
{
+
while (num > 0)
{
*x++ = 0;
- }while(--num !=0);
+ --num;
+ }
}
@@
-54,20
+55,22
@@
void Copy(
)
{
Word32 temp1,temp2,num;
+ if (L <= 0) {
+ return;
+ }
if(L&1)
{
temp1 = *x++;
*y++ = temp1;
}
num = (Word32)(L>>1);
- temp1 = *x++;
- temp2 = *x++;
- do{
- *y++ = temp1;
- *y++ = temp2;
+ while (num > 0) {
temp1 = *x++;
temp2 = *x++;
- }while(--num!=0);
+ *y++ = temp1;
+ *y++ = temp2;
+ --num;
+ }
}