2014-07-06 17:35:17

by Rickard Strandqvist

[permalink] [raw]
Subject: [PATCH] video: fbdev: sis: sis_main.c: Cleaning up wrong type in format string

Wrong type in printf format string, requires 'unsigned int'
but the argument type is 'int'

This was found using a static code analysis program called cppcheck

Signed-off-by: Rickard Strandqvist <[email protected]>
---
drivers/video/fbdev/sis/sis_main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/video/fbdev/sis/sis_main.c b/drivers/video/fbdev/sis/sis_main.c
index 22ad028..ab7e5e4 100644
--- a/drivers/video/fbdev/sis/sis_main.c
+++ b/drivers/video/fbdev/sis/sis_main.c
@@ -237,7 +237,7 @@ static void sisfb_get_vga_mode_from_kernel(void)

if(mydepth == 24) mydepth = 32;

- sprintf(mymode, "%ux%ux%u", screen_info.lfb_width,
+ sprintf(mymode, "%ux%ux%d", screen_info.lfb_width,
screen_info.lfb_height,
mydepth);

--
1.7.10.4


2014-07-06 17:46:34

by Joe Perches

[permalink] [raw]
Subject: Re: [PATCH] video: fbdev: sis: sis_main.c: Cleaning up wrong type in format string

On Sun, 2014-07-06 at 19:36 +0200, Rickard Strandqvist wrote:
> Wrong type in printf format string, requires 'unsigned int'
> but the argument type is 'int'

Perhaps it'd be better to change the type of mydepth
to __u16 as that's the type of lfb_depth

> diff --git a/drivers/video/fbdev/sis/sis_main.c b/drivers/video/fbdev/sis/sis_main.c
[]
> @@ -237,7 +237,7 @@ static void sisfb_get_vga_mode_from_kernel(void)
>
> if(mydepth == 24) mydepth = 32;
>
> - sprintf(mymode, "%ux%ux%u", screen_info.lfb_width,
> + sprintf(mymode, "%ux%ux%d", screen_info.lfb_width,
> screen_info.lfb_height,
> mydepth);
>