summaryrefslogtreecommitdiffstats
path: root/media/libmedia/JetPlayer.cpp
diff options
context:
space:
mode:
authorGlenn Kasten <gkasten@google.com>2012-01-10 08:41:33 -0800
committerGlenn Kasten <gkasten@google.com>2012-01-10 15:43:24 -0800
commit0049acfc8b1c33eb90afc925dacd08a487618e17 (patch)
tree7e4d4b45c01eddf9fe71248edc7ebd24f70d2fc5 /media/libmedia/JetPlayer.cpp
parentc1dc1cb1d1eaf84e88669f1a5f22579a0d9237c2 (diff)
downloadframeworks_av-0049acfc8b1c33eb90afc925dacd08a487618e17.zip
frameworks_av-0049acfc8b1c33eb90afc925dacd08a487618e17.tar.gz
frameworks_av-0049acfc8b1c33eb90afc925dacd08a487618e17.tar.bz2
Fix bug in JetPlayer::loadFromFile
A long pathname would corrupt the heap due to incorrect use of strncpy. Also was using hard-coded constant 256 instead of PATH_MAX. Change-Id: Iba382bbb38624fbc41fec91449f9814f77d4ac0d
Diffstat (limited to 'media/libmedia/JetPlayer.cpp')
-rw-r--r--media/libmedia/JetPlayer.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/media/libmedia/JetPlayer.cpp b/media/libmedia/JetPlayer.cpp
index 188e582..38f05f2 100644
--- a/media/libmedia/JetPlayer.cpp
+++ b/media/libmedia/JetPlayer.cpp
@@ -338,8 +338,8 @@ int JetPlayer::loadFromFile(const char* path)
Mutex::Autolock lock(mMutex);
mEasJetFileLoc = (EAS_FILE_LOCATOR) malloc(sizeof(EAS_FILE));
- memset(mJetFilePath, 0, 256);
- strncpy(mJetFilePath, path, strlen(path));
+ strncpy(mJetFilePath, path, sizeof(mJetFilePath));
+ mJetFilePath[sizeof(mJetFilePath) - 1] = '\0';
mEasJetFileLoc->path = mJetFilePath;
mEasJetFileLoc->fd = 0;