$NetBSD: patch-cg,v 1.3 2007/06/08 23:04:35 wiz Exp $

--- mkisofs/write.c.orig	2006-10-08 13:49:17.000000000 +0000
+++ mkisofs/write.c
@@ -362,7 +362,7 @@ write_one_file(filename, size, outfile)
 static	char		buffer[SECTOR_SIZE * NSECT];
 	FILE		*infile;
 	off_t		remain;
-	int	use;
+	off_t	use;
 
 
 	if ((infile = fopen(filename, "rb")) == NULL) {
@@ -428,7 +428,10 @@ static	char		buffer[SECTOR_SIZE * NSECT]
 			fflush(stderr);
 		}
 #endif
-		remain -= use;
+		if (use > remain)
+			remain = 0;
+		else
+			remain -= use;
 	}
 	fclose(infile);
 } /* write_one_file(... */
