You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	Merge commit '8a9641a652ed1546fedfda22584f79d3d423096e'
* commit '8a9641a652ed1546fedfda22584f79d3d423096e': bsf: check memory allocations Conflicts: libavcodec/noise_bsf.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
		| @@ -49,9 +49,17 @@ AVBitStreamFilterContext *av_bitstream_filter_init(const char *name) | ||||
|         if (!strcmp(name, bsf->name)) { | ||||
|             AVBitStreamFilterContext *bsfc = | ||||
|                 av_mallocz(sizeof(AVBitStreamFilterContext)); | ||||
|             if (!bsfc) | ||||
|                 return NULL; | ||||
|             bsfc->filter    = bsf; | ||||
|             bsfc->priv_data = | ||||
|                 bsf->priv_data_size ? av_mallocz(bsf->priv_data_size) : NULL; | ||||
|             bsfc->priv_data = NULL; | ||||
|             if (bsf->priv_data_size) { | ||||
|                 bsfc->priv_data = av_mallocz(bsf->priv_data_size); | ||||
|                 if (!bsfc->priv_data) { | ||||
|                     av_freep(&bsfc); | ||||
|                     return NULL; | ||||
|                 } | ||||
|             } | ||||
|             return bsfc; | ||||
|         } | ||||
|     } | ||||
|   | ||||
| @@ -37,6 +37,8 @@ static int dump_extradata(AVBitStreamFilterContext *bsfc, AVCodecContext *avctx, | ||||
|             int size= buf_size + avctx->extradata_size; | ||||
|             *poutbuf_size= size; | ||||
|             *poutbuf= av_malloc(size + FF_INPUT_BUFFER_PADDING_SIZE); | ||||
|             if (!*poutbuf) | ||||
|                 return AVERROR(ENOMEM); | ||||
|  | ||||
|             memcpy(*poutbuf, avctx->extradata, avctx->extradata_size); | ||||
|             memcpy((*poutbuf) + avctx->extradata_size, buf, buf_size + FF_INPUT_BUFFER_PADDING_SIZE); | ||||
|   | ||||
| @@ -43,6 +43,8 @@ static int imx_dump_header(AVBitStreamFilterContext *bsfc, AVCodecContext *avctx | ||||
|     } | ||||
|  | ||||
|     *poutbuf = av_malloc(buf_size + 20 + FF_INPUT_BUFFER_PADDING_SIZE); | ||||
|     if (!*poutbuf) | ||||
|         return AVERROR(ENOMEM); | ||||
|     poutbufp = *poutbuf; | ||||
|     bytestream_put_buffer(&poutbufp, imx_header, 16); | ||||
|     bytestream_put_byte(&poutbufp, 0x83); /* KLV BER long form */ | ||||
|   | ||||
| @@ -45,6 +45,8 @@ static int mjpega_dump_header(AVBitStreamFilterContext *bsfc, AVCodecContext *av | ||||
|  | ||||
|     *poutbuf_size = 0; | ||||
|     *poutbuf = av_malloc(buf_size + 44 + FF_INPUT_BUFFER_PADDING_SIZE); | ||||
|     if (!*poutbuf) | ||||
|         return AVERROR(ENOMEM); | ||||
|     poutbufp = *poutbuf; | ||||
|     bytestream_put_byte(&poutbufp, 0xff); | ||||
|     bytestream_put_byte(&poutbufp, SOI); | ||||
|   | ||||
| @@ -29,6 +29,8 @@ static int text2movsub(AVBitStreamFilterContext *bsfc, AVCodecContext *avctx, co | ||||
|     if (buf_size > 0xffff) return 0; | ||||
|     *poutbuf_size = buf_size + 2; | ||||
|     *poutbuf = av_malloc(*poutbuf_size + FF_INPUT_BUFFER_PADDING_SIZE); | ||||
|     if (!*poutbuf) | ||||
|         return AVERROR(ENOMEM); | ||||
|     AV_WB16(*poutbuf, buf_size); | ||||
|     memcpy(*poutbuf + 2, buf, buf_size); | ||||
|     return 1; | ||||
| @@ -45,6 +47,8 @@ static int mov2textsub(AVBitStreamFilterContext *bsfc, AVCodecContext *avctx, co | ||||
|     if (buf_size < 2) return 0; | ||||
|     *poutbuf_size = FFMIN(buf_size - 2, AV_RB16(buf)); | ||||
|     *poutbuf = av_malloc(*poutbuf_size + FF_INPUT_BUFFER_PADDING_SIZE); | ||||
|     if (!*poutbuf) | ||||
|         return AVERROR(ENOMEM); | ||||
|     memcpy(*poutbuf, buf + 2, *poutbuf_size); | ||||
|     return 1; | ||||
| } | ||||
|   | ||||
| @@ -200,6 +200,8 @@ int av_parser_change(AVCodecParserContext *s, AVCodecContext *avctx, | ||||
|  | ||||
|             *poutbuf_size = size; | ||||
|             *poutbuf      = av_malloc(size + FF_INPUT_BUFFER_PADDING_SIZE); | ||||
|             if (!*poutbuf) | ||||
|                 return AVERROR(ENOMEM); | ||||
|  | ||||
|             memcpy(*poutbuf, avctx->extradata, avctx->extradata_size); | ||||
|             memcpy(*poutbuf + avctx->extradata_size, buf, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user