Fix potential buffer overflow in mediadrmserver am: 5231cc164f am: 15a7d8c051 am: 54b0a54be4

am: c8797836ab

Change-Id: I51dd484521508341c56668b40ac44a9bb3d5d185
gugelfrei
Jeff Tinker 7 years ago committed by android-build-merger
commit cf11d8f7b8

@ -16,14 +16,14 @@
//#define LOG_NDEBUG 0
#define LOG_TAG "ICrypto"
#include <utils/Log.h>
#include <binder/Parcel.h>
#include <binder/IMemory.h>
#include <cutils/log.h>
#include <media/ICrypto.h>
#include <media/stagefright/MediaErrors.h>
#include <media/stagefright/foundation/ADebug.h>
#include <media/stagefright/foundation/AString.h>
#include <utils/Log.h>
namespace android {
@ -362,6 +362,13 @@ status_t BnCrypto::onTransact(
reply->writeInt32(BAD_VALUE);
return OK;
}
sp<IMemory> dest = destination.mSharedMemory;
if (totalSize > dest->size() ||
(size_t)dest->offset() > dest->size() - totalSize) {
reply->writeInt32(BAD_VALUE);
android_errorWriteLog(0x534e4554, "71389378");
return OK;
}
}
AString errorDetailMsg;

Loading…
Cancel
Save