diff mbox

[U-Boot,V2] common/lcd: add protection from null bmp pointer

Message ID 1345440750-15185-1-git-send-email-nikita@compulab.co.il
State Accepted
Delegated to: Anatolij Gustschin
Headers show

Commit Message

Nikita Kiryanov Aug. 20, 2012, 5:32 a.m. UTC
If the bmp pointer is null then U-Boot will get stuck when trying
to load the image.
What's worse, it will get stuck before the U-Boot shell becomes
available to the user, thus making it difficult to correct the
situation.

To protect from the above scenario, check if the pointer is valid.

Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
---
This patch depends on the following patch:
	patchwork.ozlabs.org/patch/176058/
Changes in V2:
	- Previous commit message gave an incorrect example of when bmp pointer
	could be null, and was therefore removed.
 common/lcd.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Comments

Anatolij Gustschin Sept. 21, 2012, 9:47 p.m. UTC | #1
Hi,

On Mon, 20 Aug 2012 08:32:30 +0300
Nikita Kiryanov <nikita@compulab.co.il> wrote:

> If the bmp pointer is null then U-Boot will get stuck when trying
> to load the image.
> What's worse, it will get stuck before the U-Boot shell becomes
> available to the user, thus making it difficult to correct the
> situation.
> 
> To protect from the above scenario, check if the pointer is valid.
> 
> Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
> ---
> This patch depends on the following patch:
> 	patchwork.ozlabs.org/patch/176058/
> Changes in V2:
> 	- Previous commit message gave an incorrect example of when bmp pointer
> 	could be null, and was therefore removed.
>  common/lcd.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)

Applied to video/master. I'm sorry for long delay.

Thanks,
Anatolij
diff mbox

Patch

diff --git a/common/lcd.c b/common/lcd.c
index 88dfa51..fcc09ac 100644
--- a/common/lcd.c
+++ b/common/lcd.c
@@ -674,7 +674,7 @@  int lcd_display_bitmap(ulong bmp_image, int x, int y)
 	unsigned long pwidth = panel_info.vl_col;
 	unsigned colors, bpix, bmp_bpix;
 
-	if (!((bmp->header.signature[0] == 'B') &&
+	if (!bmp || !((bmp->header.signature[0] == 'B') &&
 		(bmp->header.signature[1] == 'M'))) {
 		printf("Error: no valid bmp image at %lx\n", bmp_image);