s5p-jpeg: fix uninitialized use in hdr parse

Message ID 1381388791-1828-1-git-send-email-sw0312.kim@samsung.com (mailing list archive)
State RFC, archived
Delegated to: Sylwester Nawrocki
Headers

Commit Message

Seung-Woo Kim Oct. 10, 2013, 7:06 a.m. UTC
  For hdr parse error, it can return false without any assignments
which cause build warning.

Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
---
 drivers/media/platform/s5p-jpeg/jpeg-core.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
  

Comments

Sylwester Nawrocki Oct. 12, 2013, 9:39 a.m. UTC | #1
Hi Seung-Woo,

On 10/10/2013 09:06 AM, Seung-Woo Kim wrote:
> For hdr parse error, it can return false without any assignments
> which cause build warning.
>
> Signed-off-by: Seung-Woo Kim<sw0312.kim@samsung.com>
> ---
>   drivers/media/platform/s5p-jpeg/jpeg-core.c |    4 ++--
>   1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/media/platform/s5p-jpeg/jpeg-core.c b/drivers/media/platform/s5p-jpeg/jpeg-core.c
> index 15d2396..7db374e 100644
> --- a/drivers/media/platform/s5p-jpeg/jpeg-core.c
> +++ b/drivers/media/platform/s5p-jpeg/jpeg-core.c
> @@ -442,14 +442,14 @@ static bool s5p_jpeg_parse_hdr(struct s5p_jpeg_q_data *result,
>   	while (notfound) {
>   		c = get_byte(&jpeg_buffer);
>   		if (c == -1)
> -			break;
> +			return false;

notfound is being assigned before entering the while loop, so I'm not sure
what exactly is not correct here. Can you quote the original build 
warning ?
It's a good idea to always include compiler errors/warnings in the commit
message.

BTW, name of the variable is a bit confusing, I think naming it 'found' and
using negation of it would be easier to follow; that's not something we'd
be changing now though.

>   		if (c != 0xff)
>   			continue;
>   		do
>   			c = get_byte(&jpeg_buffer);
>   		while (c == 0xff);
>   		if (c == -1)
> -			break;
> +			return false;
>   		if (c == 0)
>   			continue;
>   		length = 0;

Thanks,
Sylwester
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
  
Seung-Woo Kim Oct. 14, 2013, 4:27 a.m. UTC | #2
Hi Sylwester,

Thanks for you comment.

On 2013? 10? 12? 18:39, Sylwester Nawrocki wrote:
> Hi Seung-Woo,
> 
> On 10/10/2013 09:06 AM, Seung-Woo Kim wrote:
>> For hdr parse error, it can return false without any assignments
>> which cause build warning.
>>
>> Signed-off-by: Seung-Woo Kim<sw0312.kim@samsung.com>
>> ---
>>   drivers/media/platform/s5p-jpeg/jpeg-core.c |    4 ++--
>>   1 files changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/media/platform/s5p-jpeg/jpeg-core.c
>> b/drivers/media/platform/s5p-jpeg/jpeg-core.c
>> index 15d2396..7db374e 100644
>> --- a/drivers/media/platform/s5p-jpeg/jpeg-core.c
>> +++ b/drivers/media/platform/s5p-jpeg/jpeg-core.c
>> @@ -442,14 +442,14 @@ static bool s5p_jpeg_parse_hdr(struct
>> s5p_jpeg_q_data *result,
>>       while (notfound) {
>>           c = get_byte(&jpeg_buffer);
>>           if (c == -1)
>> -            break;
>> +            return false;
> 
> notfound is being assigned before entering the while loop, so I'm not sure
> what exactly is not correct here. Can you quote the original build
> warning ?

Here is the build warning.

drivers/media/platform/s5p-jpeg/jpeg-core.c: In function
's5p_jpeg_parse_hdr':
drivers/media/platform/s5p-jpeg/jpeg-core.c:432: warning: 'components'
may be used uninitialized in this function
drivers/media/platform/s5p-jpeg/jpeg-core.c:433: warning: 'height' may
be used uninitialized in this function
drivers/media/platform/s5p-jpeg/jpeg-core.c:433: warning: 'width' may be
used uninitialized in this function

> It's a good idea to always include compiler errors/warnings in the commit
> message.

Right, I'll repost with warning message.

> 
> BTW, name of the variable is a bit confusing, I think naming it 'found' and
> using negation of it would be easier to follow; that's not something we'd
> be changing now though.
> 
>>           if (c != 0xff)
>>               continue;
>>           do
>>               c = get_byte(&jpeg_buffer);
>>           while (c == 0xff);
>>           if (c == -1)
>> -            break;
>> +            return false;
>>           if (c == 0)
>>               continue;
>>           length = 0;
> 
> Thanks,
> Sylwester
>
  

Patch

diff --git a/drivers/media/platform/s5p-jpeg/jpeg-core.c b/drivers/media/platform/s5p-jpeg/jpeg-core.c
index 15d2396..7db374e 100644
--- a/drivers/media/platform/s5p-jpeg/jpeg-core.c
+++ b/drivers/media/platform/s5p-jpeg/jpeg-core.c
@@ -442,14 +442,14 @@  static bool s5p_jpeg_parse_hdr(struct s5p_jpeg_q_data *result,
 	while (notfound) {
 		c = get_byte(&jpeg_buffer);
 		if (c == -1)
-			break;
+			return false;
 		if (c != 0xff)
 			continue;
 		do
 			c = get_byte(&jpeg_buffer);
 		while (c == 0xff);
 		if (c == -1)
-			break;
+			return false;
 		if (c == 0)
 			continue;
 		length = 0;