public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ihex: fix unused return value compiler warning.
@ 2011-01-02 19:27 Chris Ruffin
  2011-01-03 19:52 ` Andrew Morton
  0 siblings, 1 reply; 2+ messages in thread
From: Chris Ruffin @ 2011-01-02 19:27 UTC (permalink / raw)
  To: Andrew Morton, Mark Brown; +Cc: linux-kernel, Chris Ruffin

fixed unusued return value compiler warnings due to unchecked write() calls.

Signed-off-by: Chris Ruffin <cmruffin@gmail.com>
---
 firmware/ihex2fw.c |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/firmware/ihex2fw.c b/firmware/ihex2fw.c
index ba0cf0b..a079bdd 100644
--- a/firmware/ihex2fw.c
+++ b/firmware/ihex2fw.c
@@ -124,8 +124,7 @@ int main(int argc, char **argv)
 	if (process_ihex(data, st.st_size))
 		return 1;
 
-	output_records(outfd);
-	return 0;
+	return output_records(outfd);
 }
 
 static int process_ihex(uint8_t *data, ssize_t size)
@@ -269,11 +268,13 @@ static int output_records(int outfd)
 
 		p->addr = htonl(p->addr);
 		p->len = htons(p->len);
-		write(outfd, &p->addr, writelen);
+		if (write(outfd, &p->addr, writelen) != writelen)
+			return errno;
 		p = p->next;
 	}
 	/* EOF record is zero length, since we don't bother to represent
 	   the type field in the binary version */
-	write(outfd, zeroes, 6);
+	if (write(outfd, zeroes, 6) != 6)
+		return errno;
 	return 0;
 }
-- 
1.7.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] ihex: fix unused return value compiler warning.
  2011-01-02 19:27 [PATCH] ihex: fix unused return value compiler warning Chris Ruffin
@ 2011-01-03 19:52 ` Andrew Morton
  0 siblings, 0 replies; 2+ messages in thread
From: Andrew Morton @ 2011-01-03 19:52 UTC (permalink / raw)
  To: Chris Ruffin; +Cc: Mark Brown, linux-kernel

On Sun,  2 Jan 2011 11:27:10 -0800
Chris Ruffin <cmruffin@gmail.com> wrote:

> fixed unusued return value compiler warnings due to unchecked write() calls.
> 
> Signed-off-by: Chris Ruffin <cmruffin@gmail.com>
> ---
>  firmware/ihex2fw.c |    9 +++++----
>  1 files changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git a/firmware/ihex2fw.c b/firmware/ihex2fw.c
> index ba0cf0b..a079bdd 100644
> --- a/firmware/ihex2fw.c
> +++ b/firmware/ihex2fw.c
> @@ -124,8 +124,7 @@ int main(int argc, char **argv)
>  	if (process_ihex(data, st.st_size))
>  		return 1;
>  
> -	output_records(outfd);
> -	return 0;
> +	return output_records(outfd);
>  }
>  
>  static int process_ihex(uint8_t *data, ssize_t size)
> @@ -269,11 +268,13 @@ static int output_records(int outfd)
>  
>  		p->addr = htonl(p->addr);
>  		p->len = htons(p->len);
> -		write(outfd, &p->addr, writelen);
> +		if (write(outfd, &p->addr, writelen) != writelen)
> +			return errno;
>  		p = p->next;
>  	}
>  	/* EOF record is zero length, since we don't bother to represent
>  	   the type field in the binary version */
> -	write(outfd, zeroes, 6);
> +	if (write(outfd, zeroes, 6) != 6)
> +		return errno;
>  	return 0;
>  }

write(1) will only set errno if it returned -1.  So in the case where
write() returned a positive number less than `count', output_records()
will return a garbage value of `errno'.

I guess this will suffice:

--- a/firmware/ihex2fw.c~ihex-fix-unused-return-value-compiler-warning-fix
+++ a/firmware/ihex2fw.c
@@ -269,12 +269,12 @@ static int output_records(int outfd)
 		p->addr = htonl(p->addr);
 		p->len = htons(p->len);
 		if (write(outfd, &p->addr, writelen) != writelen)
-			return errno;
+			return 1;
 		p = p->next;
 	}
 	/* EOF record is zero length, since we don't bother to represent
 	   the type field in the binary version */
 	if (write(outfd, zeroes, 6) != 6)
-		return errno;
+		return 1;
 	return 0;
 }
_


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2011-01-03 19:52 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-01-02 19:27 [PATCH] ihex: fix unused return value compiler warning Chris Ruffin
2011-01-03 19:52 ` Andrew Morton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox