Fix potential buffer overflow in mediadrmserver

bug:71389378
test: gts media tests

Change-Id: Ic7d4b456bc874b92fbe202e3dafb7ceac747ebc7
gugelfrei
Jeff Tinker 7 years ago
parent 028cf0973f
commit 5231cc164f

@ -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