From 840c3c05316a59c70a7470ed27aaa9c2f3ba410a Mon Sep 17 00:00:00 2001 From: Andreas Cadhalpun Date: Tue, 20 Jan 2015 18:46:01 +0100 Subject: [PATCH] libavcodec/ppc/mpegvideoencdsp.c: fix stack smashing in pix_norm1_altivec() and pix_sum_altivec() The vec_ste calls were mistakenly changed to vec_vsx_st in c5ca76a, which caused stack smashing. Changing them back fixes crashes on ppc64el, when configured with --toolchain=hardened. Signed-off-by: Michael Niedermayer --- libavcodec/ppc/mpegvideoencdsp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavcodec/ppc/mpegvideoencdsp.c b/libavcodec/ppc/mpegvideoencdsp.c index e91ba5d25f..3e6765ce15 100644 --- a/libavcodec/ppc/mpegvideoencdsp.c +++ b/libavcodec/ppc/mpegvideoencdsp.c @@ -55,7 +55,7 @@ static int pix_norm1_altivec(uint8_t *pix, int line_size) /* Sum up the four partial sums, and put the result into s. */ sum = vec_sums((vector signed int) sv, (vector signed int) zero); sum = vec_splat(sum, 3); - vec_vsx_st(sum, 0, &s); + vec_ste(sum, 0, &s); return s; } #else @@ -113,7 +113,7 @@ static int pix_sum_altivec(uint8_t *pix, int line_size) /* Sum up the four partial sums, and put the result into s. */ sumdiffs = vec_sums((vector signed int) sad, (vector signed int) zero); sumdiffs = vec_splat(sumdiffs, 3); - vec_vsx_st(sumdiffs, 0, &s); + vec_ste(sumdiffs, 0, &s); return s; } #else