summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice
diff options
context:
space:
mode:
authorSergio Giro <sgiro@google.com>2016-06-28 18:24:52 +0100
committergitbuildkicker <android-build@google.com>2016-07-21 17:29:24 -0700
commit36dd3c28898248fe5ecb7e256025499bb8d6275a (patch)
tree3dae1e9da9c2247d69282690f890a950d32cb827 /media/libmediaplayerservice
parent50643aadeb8dfe53da7848a5d5e995d5486678e1 (diff)
downloadframeworks_av-36dd3c28898248fe5ecb7e256025499bb8d6275a.zip
frameworks_av-36dd3c28898248fe5ecb7e256025499bb8d6275a.tar.gz
frameworks_av-36dd3c28898248fe5ecb7e256025499bb8d6275a.tar.bz2
Add bound checks to utf16_to_utf8
Bug: 29250543 Change-Id: I3518416e89ed901021970958fb6005fd69129f7c (cherry picked from commit 1d3f4278b2666d1a145af2f54782c993aa07d1d9)
Diffstat (limited to 'media/libmediaplayerservice')
-rw-r--r--media/libmediaplayerservice/MediaPlayerService.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/media/libmediaplayerservice/MediaPlayerService.cpp b/media/libmediaplayerservice/MediaPlayerService.cpp
index bcfd83a..b8c610d 100644
--- a/media/libmediaplayerservice/MediaPlayerService.cpp
+++ b/media/libmediaplayerservice/MediaPlayerService.cpp
@@ -237,7 +237,8 @@ void unmarshallAudioAttributes(const Parcel& parcel, audio_attributes_t *attribu
// copying array size -1, array for tags was calloc'd, no need to NULL-terminate it
size_t tagSize = realTagSize > AUDIO_ATTRIBUTES_TAGS_MAX_SIZE - 1 ?
AUDIO_ATTRIBUTES_TAGS_MAX_SIZE - 1 : realTagSize;
- utf16_to_utf8(tags.string(), tagSize, attributes->tags);
+ utf16_to_utf8(tags.string(), tagSize, attributes->tags,
+ sizeof(attributes->tags) / sizeof(attributes->tags[0]));
}
} else {
ALOGE("unmarshallAudioAttributes() received unflattened tags, ignoring tag values");