From 498e1c6bb963eb7e611ba72a9c2ecad9b306e6b0 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Wed, 21 Nov 2012 22:53:06 +0100 Subject: lavu: check av_clip*() limits This code cannot use av_assert* due to circular header dependancies Signed-off-by: Michael Niedermayer --- libavutil/common.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'libavutil/common.h') diff --git a/libavutil/common.h b/libavutil/common.h index 0f36309fa9..3adb1f0c06 100644 --- a/libavutil/common.h +++ b/libavutil/common.h @@ -97,6 +97,9 @@ av_const int av_log2_16bit(unsigned v); */ static av_always_inline av_const int av_clip_c(int a, int amin, int amax) { +#if defined(HAVE_AV_CONFIG_H) && ASSERT_LEVEL >= 2 + if (amin > amax) abort(); +#endif if (a < amin) return amin; else if (a > amax) return amax; else return a; @@ -111,6 +114,9 @@ static av_always_inline av_const int av_clip_c(int a, int amin, int amax) */ static av_always_inline av_const int64_t av_clip64_c(int64_t a, int64_t amin, int64_t amax) { +#if defined(HAVE_AV_CONFIG_H) && ASSERT_LEVEL >= 2 + if (amin > amax) abort(); +#endif if (a < amin) return amin; else if (a > amax) return amax; else return a; @@ -216,6 +222,9 @@ static av_always_inline int av_sat_dadd32_c(int a, int b) */ static av_always_inline av_const float av_clipf_c(float a, float amin, float amax) { +#if defined(HAVE_AV_CONFIG_H) && ASSERT_LEVEL >= 2 + if (amin > amax) abort(); +#endif if (a < amin) return amin; else if (a > amax) return amax; else return a; -- cgit v1.2.3