History log of /frameworks/av/media/libstagefright/id3/ID3.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
b6495718dc3f3269a862843762e4809cc26fcae6 07-Oct-2015 Wei Jia <wjia@google.com> am b39b25a2: am d9a22c51: am 39d91e7b: Merge "ID3: check possible integer overflow for extendedHeaderSize and paddingSize." into mnc-dev

* commit 'b39b25a2b9ceb5b3e1d32ddbead10b907e5c87a1':
ID3: check possible integer overflow for extendedHeaderSize and paddingSize.
b3694ff5a5bcecd4b6cedca156f6effb55bbf4ca 05-Oct-2015 Wei Jia <wjia@google.com> ID3: check possible integer overflow for extendedHeaderSize and paddingSize.

Bug: 24623447
Change-Id: Ifbc74454d6e28ad7136efe35ab638a07e46398b1
/frameworks/av/media/libstagefright/id3/ID3.cpp
1c425b65186bb64b5c5e32194b3db3df4a5378b1 24-Aug-2015 Robert Shih <robertshih@google.com> am b3b34074: am 7b06f9ba: am fa11fd5b: resolved conflicts for merge of 327afffb to lmp-mr1-ub-dev

* commit 'b3b34074477b9f8713924e18f7a0120965112720':
Prevent integer issues in ID3::Iterator::findFrame
fa11fd5bb2e9c5e00f7fecbbe76c279193182cee 24-Aug-2015 Robert Shih <robertshih@google.com> resolved conflicts for merge of 327afffb to lmp-mr1-ub-dev

Change-Id: I6c1369f05bbeb83e2152b8dae35f7a53328f7239
8cf3564d2dd522f7a707a8fd109d415dab3def47 22-Aug-2015 Robert Shih <robertshih@google.com> am eecc406f: am 3b42241a: Merge "Prevent integer issues in ID3::Iterator::findFrame" into klp-dev

* commit 'eecc406f462ef2b3a73cd6bf3c05f7cb45382276':
Prevent integer issues in ID3::Iterator::findFrame
eecc406f462ef2b3a73cd6bf3c05f7cb45382276 22-Aug-2015 Robert Shih <robertshih@google.com> am 3b42241a: Merge "Prevent integer issues in ID3::Iterator::findFrame" into klp-dev

* commit '3b42241aab5855964d1bd60268ae21c2d9cc6065':
Prevent integer issues in ID3::Iterator::findFrame
c580c836c1941fb4912e1dd4e08626caf98a62c7 15-Aug-2015 Joshua J. Drake <android-open-source@qoop.org> Prevent integer issues in ID3::Iterator::findFrame

Integer overflows could occur a few places within findFrame. These can lead to
out-of-bounds reads and potentially infinite loops. Ensure that arithmetic does
not wrap around to prevent these behaviors.

Bug: 23285192
Change-Id: I72a61df7d5719d1d3f2bd0b37fba86f0f4bbedee
/frameworks/av/media/libstagefright/id3/ID3.cpp
e8314e1e558a72d0dbc0ffabd4f01b9a3051b476 20-Aug-2015 Neel Mehta <nmehta@google.com> am ed0c67a8: am a4ebdaad: am 0cc0d158: am 06682f94: am 48bdf782: am 00887af1: am e9a8362e: am a2a68264: am c37f7f6f: Fix for memory corruption in ID3::removeUnsynchronizationV2_4(). Bug: 23227354

* commit 'ed0c67a8d0e501bd02c8eb811dfcb215a8c47ada':
Fix for memory corruption in ID3::removeUnsynchronizationV2_4(). Bug: 23227354
0cc0d158694b20f210ba4ad41fe4adc5bda57402 20-Aug-2015 Neel Mehta <nmehta@google.com> am 06682f94: am 48bdf782: am 00887af1: am e9a8362e: am a2a68264: am c37f7f6f: Fix for memory corruption in ID3::removeUnsynchronizationV2_4(). Bug: 23227354

* commit '06682f94d84f97df0d826f9b15d4c2e861ba4045':
Fix for memory corruption in ID3::removeUnsynchronizationV2_4(). Bug: 23227354
a6f0b0417aa3005151757e7c8064f6328a4f5246 20-Aug-2015 Wei Jia <wjia@google.com> am f153ecd2: am 91c71293: am 91fc84f2: am de5c4c46: am 43131299: am 1a09d352: Merge "libstagefright: check remaining data size before parsing it." into klp-dev

* commit 'f153ecd2c1b503a404bbb7d1db0fcc19b7bcda0e':
libstagefright: check remaining data size before parsing it.
60345c67f522bd5287a62387a34c0efc521b2a71 20-Aug-2015 Robert Shih <robertshih@google.com> am 3ad0357a: am d7c2effc: Merge "Prevent integer underflows in ID3::Iterator"

* commit '3ad0357a3a6fd89fdbedd269186f49a867a031ba':
Prevent integer underflows in ID3::Iterator
be7b5e253f85132683826f305e5dcdaf83f0b300 15-Aug-2015 Joshua J. Drake <android-open-source@qoop.org> Prevent integer underflows in ID3::Iterator

If mFrameSize is less than or equal to getHeaderLength(), an integer underflow
will occur. This typically leads to a crash reading out of bounds in the
following code. Prevent this from happening by validating mFrameSize.

Also add NULL checks after references to ID3::Iterator::getData.

Bug: 23285887
Change-Id: I35eeda3c5349ebbd9ffb3ea49b79af6a940d1395
/frameworks/av/media/libstagefright/id3/ID3.cpp
e9a8362e1d379e90655e904ca49d6333e4218eda 18-Aug-2015 Neel Mehta <nmehta@google.com> am a2a68264: am c37f7f6f: Fix for memory corruption in ID3::removeUnsynchronizationV2_4(). Bug: 23227354

* commit 'a2a6826494dec4a8fab6bd6828828fae886e516a':
Fix for memory corruption in ID3::removeUnsynchronizationV2_4(). Bug: 23227354
de5c4c4671f63457151fce7b4ad7963518f8ce36 18-Aug-2015 Wei Jia <wjia@google.com> am 43131299: am 1a09d352: Merge "libstagefright: check remaining data size before parsing it." into klp-dev

* commit '431312997856ce689e683ee0639cf1f4bedab7f0':
libstagefright: check remaining data size before parsing it.
a2a6826494dec4a8fab6bd6828828fae886e516a 18-Aug-2015 Neel Mehta <nmehta@google.com> am c37f7f6f: Fix for memory corruption in ID3::removeUnsynchronizationV2_4(). Bug: 23227354

* commit 'c37f7f6fa0cb7f55cdc5b2d4ccbf2c87c3bc6c3b':
Fix for memory corruption in ID3::removeUnsynchronizationV2_4(). Bug: 23227354
c37f7f6fa0cb7f55cdc5b2d4ccbf2c87c3bc6c3b 15-Aug-2015 Neel Mehta <nmehta@google.com> Fix for memory corruption in ID3::removeUnsynchronizationV2_4().
Bug: 23227354

Change-Id: Iaa36cfda4fd84ca7e039f56086fd61b4118020db
(cherry picked from commit 77e23413a539df16503e356bd4df4a952f3abc47)
/frameworks/av/media/libstagefright/id3/ID3.cpp
431312997856ce689e683ee0639cf1f4bedab7f0 18-Aug-2015 Wei Jia <wjia@google.com> am 1a09d352: Merge "libstagefright: check remaining data size before parsing it." into klp-dev

* commit '1a09d3521e8849dcb1090ecb50393f6e9ee140ec':
libstagefright: check remaining data size before parsing it.
d2ebc0b9e147f9406db20ec4df61da50e3614ee4 17-Aug-2015 Wei Jia <wjia@google.com> libstagefright: check remaining data size before parsing it.

Bug: 23248776
Change-Id: I45cf53e58e4375afcf260b122264c968ec0ff6c8
(cherry picked from commit 3bf1e0fdf27e1188b8d3574ed073595b8eacb114)
/frameworks/av/media/libstagefright/id3/ID3.cpp
3bf1e0fdf27e1188b8d3574ed073595b8eacb114 17-Aug-2015 Wei Jia <wjia@google.com> libstagefright: check remaining data size before parsing it.

Bug: 23248776
Change-Id: I45cf53e58e4375afcf260b122264c968ec0ff6c8
/frameworks/av/media/libstagefright/id3/ID3.cpp
59a385e41be35b25422bbdf27ba5f3f894081671 13-Aug-2015 Wei Jia <wjia@google.com> am f66b81e7: am f22da1cf: am d7146ce7: am 3bb658ac: am 4e86a483: am f51115bd: libstagefright: fix possible overflow in ID3.

* commit 'f66b81e7c05f62105e7a8deefeaf395b28cb4bb3':
libstagefright: fix possible overflow in ID3.
3bb658acd971414b15b0957e131294db33f7b75b 13-Aug-2015 Wei Jia <wjia@google.com> am 4e86a483: am f51115bd: libstagefright: fix possible overflow in ID3.

* commit '4e86a483a12b0139a8babf4754e5de340eaccd40':
libstagefright: fix possible overflow in ID3.
4e86a483a12b0139a8babf4754e5de340eaccd40 13-Aug-2015 Wei Jia <wjia@google.com> am f51115bd: libstagefright: fix possible overflow in ID3.

* commit 'f51115bd8e44c2779b74477277c6f6046916e7cf':
libstagefright: fix possible overflow in ID3.
f51115bd8e44c2779b74477277c6f6046916e7cf 12-Aug-2015 Wei Jia <wjia@google.com> libstagefright: fix possible overflow in ID3.

Bug: 23129786
Change-Id: I2e6b7a6927aa4362ab49dd6824bbb1abf7b4e661
(cherry picked from commit 09da86913ca97d7a818a8917b6601527e5e18a24)
/frameworks/av/media/libstagefright/id3/ID3.cpp
09da86913ca97d7a818a8917b6601527e5e18a24 12-Aug-2015 Wei Jia <wjia@google.com> libstagefright: fix possible overflow in ID3.

Bug: 23129786
Change-Id: I2e6b7a6927aa4362ab49dd6824bbb1abf7b4e661
/frameworks/av/media/libstagefright/id3/ID3.cpp
48192b84db39879e7d83a2f4e7023048fb81ee8e 07-Aug-2015 Marco Nelissen <marcone@google.com> am 0625841d: am dfaea255: am 578d5b66: am 171b5fad: am d6ea7f65: am f26400c9: Fix crash on malformed id3

* commit '0625841daae5bb1351034909ce705aab517eea2d':
Fix crash on malformed id3
171b5fadb9d304f5e06686e4f3d060ef335d7250 07-Aug-2015 Marco Nelissen <marcone@google.com> am d6ea7f65: am f26400c9: Fix crash on malformed id3

* commit 'd6ea7f65dd31d5dacf497cc3c494d4fa3910f7c3':
Fix crash on malformed id3
d6ea7f65dd31d5dacf497cc3c494d4fa3910f7c3 07-Aug-2015 Marco Nelissen <marcone@google.com> am f26400c9: Fix crash on malformed id3

* commit 'f26400c9d01a0e2f71690d5ebc644270f098d590':
Fix crash on malformed id3
f26400c9d01a0e2f71690d5ebc644270f098d590 05-Aug-2015 Marco Nelissen <marcone@google.com> Fix crash on malformed id3

Bug: 22954006
Change-Id: I488cb1e2c69fc7043b6040481b30fa866000515d
/frameworks/av/media/libstagefright/id3/ID3.cpp
ba6e982635f11bced34897f4317cbe8ff1c89483 15-Jan-2015 Marco Nelissen <marcone@google.com> Fix id3 parser crash

Bug: 18872896
Change-Id: I953f58f35a76590701234d5707e060499acfc069
/frameworks/av/media/libstagefright/id3/ID3.cpp
b3f9759c8c9437c45b9a34519ce2ea38a8314d4e 24-Nov-2014 Andreas Gampe <agampe@google.com> Stagefright: Fix unused variables, functions, values

For build-system CFLAGS clean-up, remove unused functions and
variables.

Change-Id: Ic3dee56b589ea9a693efa1d72ba394036efff168
/frameworks/av/media/libstagefright/id3/ID3.cpp
b4a7a2df4c28c3f32b5d877b54831d2cc5d78f81 20-Mar-2014 Colin Cross <ccross@android.com> libstagefright: fix 64-bit warnings

%lld -> %" PRId64 " for int64_t
%d -> %zu for size_t
Also fixes some casts from void* to integer types, and some comparisons
between signed and unsigned.

Change-Id: I9c52f76240e39399da252c66459042a6fc626a90
/frameworks/av/media/libstagefright/id3/ID3.cpp
9c1aaa7fee4b17d3675af6108c5ff28f3a84c8ec 17-Jan-2014 Marco Nelissen <marcone@google.com> am 6146f60c: am 319c5640: am 07a017d3: Merge "Added support for ID3v2 meta data in 3gp files"

* commit '6146f60c87a8a9c66036325c66dea826d2e98f6f':
Added support for ID3v2 meta data in 3gp files
328abde67f57c026ac44e927f9244c40832499c8 27-Jan-2011 Oscar Rydhé <oscar.rydhe@sonyericsson.com> Added support for ID3v2 meta data in 3gp files

Added support for parsing ID3v2 meta data from
the ID32 chunk in 3gp files. The priority will be
3gpp -> ID3v2 -> iTunes per field.

Change-Id: I0282ecab58e3e5fa6bd738078d562c8bb8ce00ed
/frameworks/av/media/libstagefright/id3/ID3.cpp
544ad2be674423238c47650d2c8588ba7dfc9ed2 13-Nov-2013 Marco Nelissen <marcone@google.com> Better character set encoding detection

Id3 tags are supposed to be ISO-8859-1 or unicode, but often aren't.
To better detect the real encoding we now use ICU to detect possible
encodings for a given byte sequence, then apply additional heuristics
to determine the most likely one.
b/5564857

Change-Id: I53bc83b006433da5c2f2ccfcd770ddb3a26b64d0
/frameworks/av/media/libstagefright/id3/ID3.cpp
72a43b68da48890273508cb1c9d646b7d75fc101 18-Jun-2013 Marco Nelissen <marcone@google.com> Speed up id3v2 unsynchronization

Instead of doing many overlapping memmoves, do a single copy pass
that skips over the inserted unsynchronization bytes. For some
files this reduces parsing time from minutes to milliseconds.

b/9463262

Change-Id: I735b7051e77a093d86fb7a3e46209875946225ed
/frameworks/av/media/libstagefright/id3/ID3.cpp
14f7672b5d450ed26a06fd3bb3ce045ea78b11b2 15-Jan-2013 Andreas Huber <andih@google.com> New HLS implementation supporting independent stream sources, audio-only streams

and more.

Change-Id: Icfc45a0100243b2f7a14a9e65696be45b67d6495
/frameworks/av/media/libstagefright/id3/ID3.cpp
ffd6ffc5429c45577fd8e9f8fa90e79bb91b8a84 28-Nov-2012 Dylan Powers <dylan.kyle.powers@gmail.com> Bug fix for the MediaPlayer::prepare() api.

For an MP3 source, within the prepare command, ID3 tags are checked in search of
gapless playback info. This causes problems for streamed sources. If ID3v2 tags
aren't present, then a check is done for ID3v1 tags. This results in a read
command that asks the cache to jump to the end of the file, and subsequently
make an extra http call to request those bytes. For a streamed source, this
causes the file to not be downloaded automatically when MediaPlayer::prepare()
is called, and causes stuttering and extra buffering time to be needed when
start() is finally called.
The solution is to ignore the ID3v1 tags as the gapless info would never exist
there, and only check for ID3v2 tags.

Change-Id: I7d1b94cffbfe7c38ca094834dedbc92a58855e20
/frameworks/av/media/libstagefright/id3/ID3.cpp
be5016bac5c1b422d850e299d3cb11fecf0ac19d 11-Jul-2012 Jesper Tragardh <jesper.tragardh@sonyericsson.com> Correct ID3::StringSize calculation for UCS-2 data.

Album art was not displayed when albums were transferred via MediaGo
because the length of the description in the APIC tag was not
correctly calculated.

The method StringSize used to calculate the length of the tag
does not add the size of the null termination in UCS-2 case.

Change-Id: I5409d42f5e87d315e6e03c4d7e6cbd8a378a160d
/frameworks/av/media/libstagefright/id3/ID3.cpp
b636abde14f2612ea236257846b9ab15d87d4623 19-Mar-2012 Marco Nelissen <marcone@google.com> Parse mp3 encoder padding/delay

Get the mp3 encoder padding and delay from a XING frame or iTunSMPB tag.

Change-Id: Icde598c8857d7e7c187a718f478ee9799d6a1b8a
/frameworks/av/media/libstagefright/id3/ID3.cpp
f1d5aa162c02a16b7195a43a9bcea4d592600ac4 07-Feb-2012 James Dong <jdong@google.com> Move away from MediaDebug and use ADebug instead

Change-Id: I963a3b6f79a7292891973cbeeaf3378b38629f08
/frameworks/av/media/libstagefright/id3/ID3.cpp
29357bc2c0dd7c43ad3bd0c8e3efa4e6fd9bfd47 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/157220

Bug: 5449033
Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
/frameworks/av/media/libstagefright/id3/ID3.cpp
3856b090cd04ba5dd4a59a12430ed724d5995909 20-Oct-2011 Steve Block <steveblock@google.com> Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/143865

Bug: 5449033
Change-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a
/frameworks/av/media/libstagefright/id3/ID3.cpp
428d96d5f882d01acb0abb7e1ceb51d4ccc48efa 14-Dec-2010 Andreas Huber <andih@google.com> Support malformed ID3 V2.4 tags written by early versions of iTunes.

Change-Id: I90c2a9bbf216e2ae9a37accdaa2214233f5e54ea
related-to-bug: 3275576
/frameworks/av/media/libstagefright/id3/ID3.cpp
c7fc37a3dab9bd1f96713649f351b5990e6316ff 16-Nov-2010 James Dong <jdong@google.com> 64-bit file size/offset support for media framework

Change-Id: I3452bc2c0f1d990cc67285df2fce1f9f86ff8e10
/frameworks/av/media/libstagefright/id3/ID3.cpp
ac994dfb88d414aeedf5998aa1c6015c5b47ec01 25-Aug-2010 Andreas Huber <andih@google.com> Fix support for per-frame unsynchronization in ID3V2.4 tags.

Change-Id: I6874b596f88817347756a375d9fb1c9bff418eca
related-to-bug: 2949149
/frameworks/av/media/libstagefright/id3/ID3.cpp
bebd11b5a406bc4243cb7bd55f6849841bf911a7 08-Apr-2010 Andreas Huber <andih@google.com> Support for ID3 V2.4 tags.

Change-Id: I74ee02451bdfd7e50f0d5ff6fa5da5147b683e4c
related-to-bug: 2581869
/frameworks/av/media/libstagefright/id3/ID3.cpp
65997f022fa3f557ba864ecc99a1aa33df54c2db 30-Mar-2010 Andreas Huber <andih@google.com> Limit the total amount of ID3 metadata to something (un-)reasonable: 3MB.

Change-Id: I3f9bbcdd4f563bac27c4ccae58e4179656c264b6
related-to-bug: 1903971
/frameworks/av/media/libstagefright/id3/ID3.cpp
632a7dfdab89ffa79846ad37718d0582fd36affe 16-Mar-2010 Kenny Root <kroot@google.com> Adjust expected text frame length in ID3

When encountering a null character in an ID3 text frame, adjust the
expected size accordingly so it isn't misidentified as ASCII.

This fixes http://b/2517444

Change-Id: I19a3284d378e882c33b28ecee528a434716c7707
/frameworks/av/media/libstagefright/id3/ID3.cpp
569e7f1b1444194d1aca5a0b23de154565ba12da 09-Feb-2010 Marco Nelissen <marcone@google.com> Use bswap_16 instead of swap16, because swap16 is not available in glibc
/frameworks/av/media/libstagefright/id3/ID3.cpp
4c23b7d543cd95250e766cef7558d0f4c941ddcb 08-Feb-2010 Andreas Huber <andih@google.com> ID3v1 tag's strings are ISO8859, not UTF-8, so do the proper conversion when extracting metadata.

related-to-bug: 2399408
/frameworks/av/media/libstagefright/id3/ID3.cpp
5a2621a64de196cbdb9a2a50357dee1c32fcf11b 09-Feb-2010 Marco Nelissen <marcone@google.com> Skip the endianness marker when converting UCS-2 to UTF-8, since it
ends up in the UTF-8 string otherwise.
/frameworks/av/media/libstagefright/id3/ID3.cpp
08e7eb983fcb9860a574e964ff905f75aab88d2f 19-Jan-2010 Andreas Huber <andih@google.com> Fix trailing garbage after UCS-2 encoded strings in ID3 V2.

related-to-bug: 2381919
/frameworks/av/media/libstagefright/id3/ID3.cpp
83e5850bdf9c8b5c36c364b367b039674eb827ad 19-Jan-2010 Andreas Huber <andih@google.com> Support for ID3 version 1 (and 1.1) tags in .mp3 files.

related-to-bug: 2375219
/frameworks/av/media/libstagefright/id3/ID3.cpp
fc9ba09e3bb368f823d473f5e2bb9aa32dba6289 12-Jan-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit f81bb1dac5ef107bb0d7d5d756fb1ffa532ba2cc
Author: Andreas Huber <andih@google.com>
Date: Mon Jan 11 14:55:56 2010 -0800

Support for duration metadata, midi and ogg-vorbis files (in mediascanner)

commit 0b1385a0dc156ce27985a1ff757c4c142fd7ec39
Author: Andreas Huber <andih@google.com>
Date: Mon Jan 11 14:20:45 2010 -0800

Refactor meta data logic. Container specific metadata is now also returned by the MediaExtractor.

commit f9818dfac39c96e5fefe8c8295e60580692d5990
Author: Andreas Huber <andih@google.com>
Date: Fri Jan 8 14:26:09 2010 -0800

A first pass at supporting metadata through ID3 tags.

commit 476e9e253633336ab790f943e2d6c0cd8991d76a
Author: Andreas Huber <andih@google.com>
Date: Thu Jan 7 15:48:44 2010 -0800

Initial checkin of ID3 (V2.2 and V2.3) parser for use in stagefright.

related-to-bug: 2295456
/frameworks/av/media/libstagefright/id3/ID3.cpp