[sheepdog] [PATCH] fec: fix buffer overrun

Liu Yuan namei.unix at gmail.com
Tue Feb 4 08:13:52 CET 2014


On Tue, Feb 04, 2014 at 12:57:54PM +0900, MORITA Kazutaka wrote:
> After all the parities are set to out[], p will increase beyond
> ctx->dp.  This adds a check for it.
> 
> This also adds assert() to make sure that we don't overrun the buffer.
> 
> Signed-off-by: MORITA Kazutaka <morita.kazutaka at lab.ntt.co.jp>
> ---
>  lib/fec.c |    3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/lib/fec.c b/lib/fec.c
> index 7d897e4..5d627f5 100644
> --- a/lib/fec.c
> +++ b/lib/fec.c
> @@ -602,9 +602,10 @@ static inline void decode_prepare(struct fec *ctx, const uint8_t *dp[],
>  			out[i] = dp[i];
>  			outidx[i] = i;
>  		} else {
> +			assert(p < ctx->dp);
>  			out[i] = dp[p];
>  			outidx[i] = p;
> -			while (!dp[++p])
> +			while (++p < ctx->dp && !dp[p])
>  				;
>  		}
>  	}
> -- 
> 1.7.10.4
> 
> -- 
> sheepdog mailing list
> sheepdog at lists.wpkg.org
> http://lists.wpkg.org/mailman/listinfo/sheepdog

Applied thanks

Yuan



More information about the sheepdog mailing list