svn commit: r250972 - head/usr.bin/patch

Stefan Esser se at FreeBSD.org
Fri May 24 18:54:52 UTC 2013


Author: se
Date: Fri May 24 18:54:52 2013
New Revision: 250972
URL: http://svnweb.freebsd.org/changeset/base/250972

Log:
  The error handling for writes to the target file could lead to the final
  fclose() being skipped. Fix this by using boolean "&" and "|" instead of
  short-cut operators "&&" and "||".
  While here, increment the last part of the version string. The reason is
  the fixed output file selection logic in pch.c, which was committed as
  r250943, yesterday.
  
  Reviewed by:	pfg

Modified:
  head/usr.bin/patch/patch.c
  head/usr.bin/patch/util.c

Modified: head/usr.bin/patch/patch.c
==============================================================================
--- head/usr.bin/patch/patch.c	Fri May 24 18:28:27 2013	(r250971)
+++ head/usr.bin/patch/patch.c	Fri May 24 18:54:52 2013	(r250972)
@@ -303,7 +303,7 @@ main(int argc, char *argv[])
 				    ++fuzz <= mymaxfuzz);
 
 				if (skip_rest_of_patch) {	/* just got decided */
-					if (ferror(ofp) || fclose(ofp)) {
+					if (ferror(ofp) | fclose(ofp)) {
 						say("Error writing %s\n",
 						    TMPOUTNAME);
 						error = 1;
@@ -385,7 +385,7 @@ main(int argc, char *argv[])
 				}
 			}
 		}
-		if (ferror(rejfp) || fclose(rejfp)) {
+		if (ferror(rejfp) | fclose(rejfp)) {
 			say("Error writing %s\n", rejname);
 			error = 1;
 		}
@@ -977,7 +977,7 @@ spew_output(void)
 #endif
 	if (input_lines)
 		copy_till(input_lines, true);	/* dump remainder of file */
-	rv = ferror(ofp) == 0 && fclose(ofp) == 0;
+	rv = ferror(ofp) == 0 & fclose(ofp) == 0;
 	ofp = NULL;
 	return rv;
 }

Modified: head/usr.bin/patch/util.c
==============================================================================
--- head/usr.bin/patch/util.c	Fri May 24 18:28:27 2013	(r250971)
+++ head/usr.bin/patch/util.c	Fri May 24 18:54:52 2013	(r250972)
@@ -412,7 +412,7 @@ checked_in(char *file)
 void
 version(void)
 {
-	fprintf(stderr, "patch 2.0-12u8 FreeBSD\n");
+	fprintf(stderr, "patch 2.0-12u9 FreeBSD\n");
 	my_exit(EXIT_SUCCESS);
 }
 


More information about the svn-src-all mailing list