Loading media/libmediaplayerservice/nuplayer/NuPlayerDrm.cpp +8 −2 Original line number Diff line number Diff line Loading @@ -239,8 +239,14 @@ NuPlayerDrm::CryptoInfo *NuPlayerDrm::makeCryptoInfo( size_t *encryptedbytes) { // size needed to store all the crypto data size_t cryptosize = sizeof(CryptoInfo) + sizeof(CryptoPlugin::SubSample) * numSubSamples; size_t cryptosize; // sizeof(CryptoInfo) + sizeof(CryptoPlugin::SubSample) * numSubSamples; if (__builtin_mul_overflow(sizeof(CryptoPlugin::SubSample), numSubSamples, &cryptosize) || __builtin_add_overflow(cryptosize, sizeof(CryptoInfo), &cryptosize)) { ALOGE("crypto size overflow"); return NULL; } CryptoInfo *ret = (CryptoInfo*) malloc(cryptosize); if (ret == NULL) { ALOGE("couldn't allocate %zu bytes", cryptosize); Loading Loading
media/libmediaplayerservice/nuplayer/NuPlayerDrm.cpp +8 −2 Original line number Diff line number Diff line Loading @@ -239,8 +239,14 @@ NuPlayerDrm::CryptoInfo *NuPlayerDrm::makeCryptoInfo( size_t *encryptedbytes) { // size needed to store all the crypto data size_t cryptosize = sizeof(CryptoInfo) + sizeof(CryptoPlugin::SubSample) * numSubSamples; size_t cryptosize; // sizeof(CryptoInfo) + sizeof(CryptoPlugin::SubSample) * numSubSamples; if (__builtin_mul_overflow(sizeof(CryptoPlugin::SubSample), numSubSamples, &cryptosize) || __builtin_add_overflow(cryptosize, sizeof(CryptoInfo), &cryptosize)) { ALOGE("crypto size overflow"); return NULL; } CryptoInfo *ret = (CryptoInfo*) malloc(cryptosize); if (ret == NULL) { ALOGE("couldn't allocate %zu bytes", cryptosize); Loading