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-head
mailing list