diff mbox

[U-Boot,3/3] dfu: fix readback buffer overflow test

Message ID 1404238617-30522-3-git-send-email-swarren@wwwdotorg.org
State Accepted
Delegated to: Marek Vasut
Headers show

Commit Message

Stephen Warren July 1, 2014, 6:16 p.m. UTC
From: Stephen Warren <swarren@nvidia.com>

The buffer is too small if it's < size to read, not if it's <= the size.
This fixes the 1MB test case on Tegra, which has a 1MB buffer.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
---
 drivers/dfu/dfu.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Ɓukasz Majewski July 8, 2014, 7:58 a.m. UTC | #1
Hi Stephen,

> From: Stephen Warren <swarren@nvidia.com>
> 
> The buffer is too small if it's < size to read, not if it's <= the
> size. This fixes the 1MB test case on Tegra, which has a 1MB buffer.
> 
> Signed-off-by: Stephen Warren <swarren@nvidia.com>
> ---
>  drivers/dfu/dfu.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/dfu/dfu.c b/drivers/dfu/dfu.c
> index 6cd3fbb58ae4..3512b149c560 100644
> --- a/drivers/dfu/dfu.c
> +++ b/drivers/dfu/dfu.c
> @@ -332,7 +332,7 @@ int dfu_read(struct dfu_entity *dfu, void *buf,
> int size, int blk_seq_num) case DFU_RAM_ADDR:
>  			break;
>  		default:
> -			if (dfu->r_left >= dfu_buf_size) {
> +			if (dfu->r_left > dfu_buf_size) {
>  				printf("%s: File too big for
> buffer\n", __func__);
>  				return -EOVERFLOW;

Applied to u-boot-dfu tree.

Stephen, thanks for your support.
diff mbox

Patch

diff --git a/drivers/dfu/dfu.c b/drivers/dfu/dfu.c
index 6cd3fbb58ae4..3512b149c560 100644
--- a/drivers/dfu/dfu.c
+++ b/drivers/dfu/dfu.c
@@ -332,7 +332,7 @@  int dfu_read(struct dfu_entity *dfu, void *buf, int size, int blk_seq_num)
 		case DFU_RAM_ADDR:
 			break;
 		default:
-			if (dfu->r_left >= dfu_buf_size) {
+			if (dfu->r_left > dfu_buf_size) {
 				printf("%s: File too big for buffer\n",
 				       __func__);
 				return -EOVERFLOW;