diff --git a/libavfilter/vf_curves.c b/libavfilter/vf_curves.c index 93799b0b1d..b17c391fff 100644 --- a/libavfilter/vf_curves.c +++ b/libavfilter/vf_curves.c @@ -331,8 +331,10 @@ static int parse_psfile(AVFilterContext *ctx, const char *fname) return ret; #define READ16(dst) do { \ - if (size < 2) \ - return AVERROR_INVALIDDATA; \ + if (size < 2) { \ + ret = AVERROR_INVALIDDATA; \ + goto end; \ + } \ dst = AV_RB16(buf); \ buf += 2; \ size -= 2; \