summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>2012-05-04 21:06:13 +0200
committerBernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>2012-05-04 21:06:13 +0200
commitd20941a05101fb6b3d8be5e9392ecc1f7dbea900 (patch)
tree7463728bf9a146f3df0d21c687a998b4f2cf68bf
parent6bb3118a6f170f376a08c3bc6ee7f50b6beeaf7f (diff)
downloadbase-d20941a05101fb6b3d8be5e9392ecc1f7dbea900.tar.gz
libmediaplayerservice: Fix aliasing violation
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
-rw-r--r--media/libmediaplayerservice/MediaPlayerService.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/media/libmediaplayerservice/MediaPlayerService.cpp b/media/libmediaplayerservice/MediaPlayerService.cpp
index f27d3d6c4189..893934a048fb 100644
--- a/media/libmediaplayerservice/MediaPlayerService.cpp
+++ b/media/libmediaplayerservice/MediaPlayerService.cpp
@@ -540,12 +540,15 @@ static player_type getDefaultPlayerType() {
player_type getPlayerType(int fd, int64_t offset, int64_t length)
{
+ union {
char buf[20];
+ long *bufl;
+ };
lseek(fd, offset, SEEK_SET);
read(fd, buf, sizeof(buf));
lseek(fd, offset, SEEK_SET);
- long ident = *((long*)buf);
+ long ident = *bufl;
// Ogg vorbis?
if (ident == 0x5367674f) // 'OggS'