
From: "KAMBAROV, ZAUR" <kambarov@berkeley.edu>

Variable "c" was declared as an unsigned int, but used in:
 
125  		for (i=0 ; (c=read(fd, buf, sizeof(buf)))>0 ; i+=c )
126  			if (write(1, buf, c) != c)
127  				die("Write call failed");  

(akpm: read() can return -1.  If it does, we fill the disk up with garbage).

Signed-off-by: Zaur Kambarov <zkambarov@coverity.com> 
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 arch/i386/boot/tools/build.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletion(-)

diff -puN arch/i386/boot/tools/build.c~coverity-i386-build-negative-return-to-unsigned-fix arch/i386/boot/tools/build.c
--- 25/arch/i386/boot/tools/build.c~coverity-i386-build-negative-return-to-unsigned-fix	Fri Jun 24 14:16:11 2005
+++ 25-akpm/arch/i386/boot/tools/build.c	Fri Jun 24 14:16:11 2005
@@ -71,7 +71,8 @@ void usage(void)
 
 int main(int argc, char ** argv)
 {
-	unsigned int i, c, sz, setup_sectors;
+	unsigned int i, sz, setup_sectors;
+	int c;
 	u32 sys_size;
 	byte major_root, minor_root;
 	struct stat sb;
_
