From af8e8aa1ada2948972555592570ec9ad90cbf372 Mon Sep 17 00:00:00 2001 From: Nick Kralevich Date: Tue, 26 Jun 2012 13:32:23 -0700 Subject: Add mode when open(O_CREAT) is used. When creating a new file using open(..., O_CREAT), it is an error to fail to specify a creation mode. If a mode is not specified, a random stack provided value is used as the "mode". This will become a compile error in a future Android change. Change-Id: I36a3d67d294a915c1f79632a1b0ba45edd1214b1 --- media/libstagefright/AACWriter.cpp | 4 +++- media/libstagefright/AMRWriter.cpp | 2 +- media/libstagefright/MPEG4Writer.cpp | 2 +- media/mtp/MtpDevice.cpp | 2 +- media/mtp/MtpServer.cpp | 2 +- 5 files changed, 7 insertions(+), 5 deletions(-) (limited to 'media') diff --git a/media/libstagefright/AACWriter.cpp b/media/libstagefright/AACWriter.cpp index 284ba01..33b7bd5 100644 --- a/media/libstagefright/AACWriter.cpp +++ b/media/libstagefright/AACWriter.cpp @@ -28,6 +28,8 @@ #include #include #include +#include +#include #include namespace android { @@ -44,7 +46,7 @@ AACWriter::AACWriter(const char *filename) ALOGV("AACWriter Constructor"); - mFd = open(filename, O_CREAT | O_LARGEFILE | O_TRUNC | O_RDWR); + mFd = open(filename, O_CREAT | O_LARGEFILE | O_TRUNC | O_RDWR, S_IRUSR | S_IWUSR); if (mFd >= 0) { mInitCheck = OK; } diff --git a/media/libstagefright/AMRWriter.cpp b/media/libstagefright/AMRWriter.cpp index ca85640..15a7143 100644 --- a/media/libstagefright/AMRWriter.cpp +++ b/media/libstagefright/AMRWriter.cpp @@ -36,7 +36,7 @@ AMRWriter::AMRWriter(const char *filename) mPaused(false), mResumed(false) { - mFd = open(filename, O_CREAT | O_LARGEFILE | O_TRUNC | O_RDWR); + mFd = open(filename, O_CREAT | O_LARGEFILE | O_TRUNC | O_RDWR, S_IRUSR | S_IWUSR); if (mFd >= 0) { mInitCheck = OK; } diff --git a/media/libstagefright/MPEG4Writer.cpp b/media/libstagefright/MPEG4Writer.cpp index 755b502..cc18a1d 100755 --- a/media/libstagefright/MPEG4Writer.cpp +++ b/media/libstagefright/MPEG4Writer.cpp @@ -269,7 +269,7 @@ MPEG4Writer::MPEG4Writer(const char *filename) mAreGeoTagsAvailable(false), mStartTimeOffsetMs(-1) { - mFd = open(filename, O_CREAT | O_LARGEFILE | O_TRUNC | O_RDWR); + mFd = open(filename, O_CREAT | O_LARGEFILE | O_TRUNC | O_RDWR, S_IRUSR | S_IWUSR); if (mFd >= 0) { mInitCheck = OK; } diff --git a/media/mtp/MtpDevice.cpp b/media/mtp/MtpDevice.cpp index bf7795c..d672dff 100644 --- a/media/mtp/MtpDevice.cpp +++ b/media/mtp/MtpDevice.cpp @@ -667,7 +667,7 @@ fail: // reads the object's data and writes it to the specified file path bool MtpDevice::readObject(MtpObjectHandle handle, const char* destPath, int group, int perm) { ALOGD("readObject: %s", destPath); - int fd = ::open(destPath, O_RDWR | O_CREAT | O_TRUNC); + int fd = ::open(destPath, O_RDWR | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR); if (fd < 0) { ALOGE("open failed for %s", destPath); return false; diff --git a/media/mtp/MtpServer.cpp b/media/mtp/MtpServer.cpp index 5606187..662a93d 100644 --- a/media/mtp/MtpServer.cpp +++ b/media/mtp/MtpServer.cpp @@ -931,7 +931,7 @@ MtpResponseCode MtpServer::doSendObject() { initialData = ret - MTP_CONTAINER_HEADER_SIZE; mtp_file_range mfr; - mfr.fd = open(mSendObjectFilePath, O_RDWR | O_CREAT | O_TRUNC); + mfr.fd = open(mSendObjectFilePath, O_RDWR | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR); if (mfr.fd < 0) { result = MTP_RESPONSE_GENERAL_ERROR; goto done; -- cgit v1.1