You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	avfilter/vf_transpose: fix un-checked potential memory allocation failure
Signed-off-by: Wu Jianhua <jianhua.wu@intel.com>
This commit is contained in:
		| @@ -328,6 +328,7 @@ static int filter_slice(AVFilterContext *ctx, void *arg, int jobnr, | ||||
|  | ||||
| static int filter_frame(AVFilterLink *inlink, AVFrame *in) | ||||
| { | ||||
|     int err = 0; | ||||
|     AVFilterContext *ctx = inlink->dst; | ||||
|     TransContext *s = ctx->priv; | ||||
|     AVFilterLink *outlink = ctx->outputs[0]; | ||||
| @@ -339,10 +340,13 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in) | ||||
|  | ||||
|     out = ff_get_video_buffer(outlink, outlink->w, outlink->h); | ||||
|     if (!out) { | ||||
|         av_frame_free(&in); | ||||
|         return AVERROR(ENOMEM); | ||||
|         err = AVERROR(ENOMEM); | ||||
|         goto fail; | ||||
|     } | ||||
|     av_frame_copy_props(out, in); | ||||
|  | ||||
|     err = av_frame_copy_props(out, in); | ||||
|     if (err < 0) | ||||
|         goto fail; | ||||
|  | ||||
|     if (in->sample_aspect_ratio.num == 0) { | ||||
|         out->sample_aspect_ratio = in->sample_aspect_ratio; | ||||
| @@ -356,6 +360,11 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in) | ||||
|                       FFMIN(outlink->h, ff_filter_get_nb_threads(ctx))); | ||||
|     av_frame_free(&in); | ||||
|     return ff_filter_frame(outlink, out); | ||||
|  | ||||
| fail: | ||||
|     av_frame_free(&in); | ||||
|     av_frame_free(&out); | ||||
|     return err; | ||||
| } | ||||
|  | ||||
| #define OFFSET(x) offsetof(TransContext, x) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user