* Check size of the extradata before groping it's bits.
* Also fix a trivial compilation warning on 64-bit.
Change-Id: I60a5a075e4718317901144d991b116039d45d8ec
meta->setCString(kKeyMIMEType, MEDIA_MIMETYPE_AUDIO_FLAC);
meta->setData(kKeyRawCodecSpecificData, 0, avctx->extradata, avctx->extradata_size);
meta->setCString(kKeyMIMEType, MEDIA_MIMETYPE_AUDIO_FLAC);
meta->setData(kKeyRawCodecSpecificData, 0, avctx->extradata, avctx->extradata_size);
+ if (avctx->extradata_size < 10) {
+ ALOGE("Invalid extradata in FLAC file! (size=%d)", avctx->extradata_size);
+ return meta;
+ }
+
ABitReader br(avctx->extradata, avctx->extradata_size);
int32_t minBlockSize = br.getBits(16);
int32_t maxBlockSize = br.getBits(16);
ABitReader br(avctx->extradata, avctx->extradata_size);
int32_t minBlockSize = br.getBits(16);
int32_t maxBlockSize = br.getBits(16);
mime = NULL;
}
if (mime != NULL) {
mime = NULL;
}
if (mime != NULL) {
- ALOGV("found albumart in stream %d with type %s len %d", i, mime, pkt.size);
+ ALOGV("found albumart in stream %zu with type %s len %d", i, mime, pkt.size);
meta->setData(kKeyAlbumArt, MetaData::TYPE_NONE, pkt.data, pkt.size);
meta->setCString(kKeyAlbumArtMIME, mime);
}
meta->setData(kKeyAlbumArt, MetaData::TYPE_NONE, pkt.data, pkt.size);
meta->setCString(kKeyAlbumArtMIME, mime);
}