From 2730639259f5bdf81d4223cd8f4275e2939a1482 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Wed, 19 May 2021 11:55:22 +0200 Subject: sws: group the parameters validity checks together Also, fail with an error code rather than 0. --- libswscale/swscale.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'libswscale') diff --git a/libswscale/swscale.c b/libswscale/swscale.c index 1cf89e4684..37c7cf60dd 100644 --- a/libswscale/swscale.c +++ b/libswscale/swscale.c @@ -890,6 +890,15 @@ int attribute_align_arg sws_scale(struct SwsContext *c, return AVERROR(EINVAL); } + if (!check_image_pointers(srcSlice, c->srcFormat, srcStride)) { + av_log(c, AV_LOG_ERROR, "bad src image pointers\n"); + return AVERROR(EINVAL); + } + if (!check_image_pointers((const uint8_t* const*)dst, c->dstFormat, dstStride)) { + av_log(c, AV_LOG_ERROR, "bad dst image pointers\n"); + return AVERROR(EINVAL); + } + if (c->gamma_flag && c->cascaded_context[0]) return scale_gamma(c, srcSlice, srcStride, srcSliceY, srcSliceH, dst, dstStride); @@ -905,15 +914,6 @@ int attribute_align_arg sws_scale(struct SwsContext *c, if (srcSliceH == 0) return 0; - if (!check_image_pointers(srcSlice, c->srcFormat, srcStride)) { - av_log(c, AV_LOG_ERROR, "bad src image pointers\n"); - return 0; - } - if (!check_image_pointers((const uint8_t* const*)dst, c->dstFormat, dstStride)) { - av_log(c, AV_LOG_ERROR, "bad dst image pointers\n"); - return 0; - } - if (c->sliceDir == 0 && srcSliceY != 0 && srcSliceY + srcSliceH != c->srcH) { av_log(c, AV_LOG_ERROR, "Slices start in the middle!\n"); return 0; -- cgit v1.2.3