diff options
author | Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org> | 2012-05-04 21:06:13 +0200 |
---|---|---|
committer | Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org> | 2012-05-04 21:06:13 +0200 |
commit | d20941a05101fb6b3d8be5e9392ecc1f7dbea900 (patch) | |
tree | 7463728bf9a146f3df0d21c687a998b4f2cf68bf | |
parent | 6bb3118a6f170f376a08c3bc6ee7f50b6beeaf7f (diff) | |
download | base-d20941a05101fb6b3d8be5e9392ecc1f7dbea900.tar.gz |
libmediaplayerservice: Fix aliasing violation
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
-rw-r--r-- | media/libmediaplayerservice/MediaPlayerService.cpp | 5 |
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' |