From 336c0334da377d29ccf25046b7fbae7a705976a7 Mon Sep 17 00:00:00 2001 From: green Date: Mon, 29 Oct 2001 19:39:39 +0000 Subject: Fix a possible-corruption-at-end-of-file bug. PR: ports/30120 Submitted by: Scott Renfro --- security/cfs/files/patch-cfs_fh.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 security/cfs/files/patch-cfs_fh.c (limited to 'security/cfs/files') diff --git a/security/cfs/files/patch-cfs_fh.c b/security/cfs/files/patch-cfs_fh.c new file mode 100644 index 000000000000..f474d23b7100 --- /dev/null +++ b/security/cfs/files/patch-cfs_fh.c @@ -0,0 +1,16 @@ +--- cfs_fh.c.orig Mon Aug 27 01:47:52 2001 ++++ cfs_fh.c Mon Aug 27 01:48:41 2001 +@@ -177,6 +177,13 @@ + perror("write"); + return -1; + } ++ /* due to the way the file is padded we may actually have to ++ truncate it here. This happens when the write is at the end of ++ the file, is shorter than CFSBLOCK and brings the file to a length ++ which is evenly dividable by CFSBLOCK */ ++ if (offset+len > dtov(sb.st_size) && vtod(offset+len) < sb.st_size) { ++ ftruncate(fd, vtod(offset+len)); ++ } + /* iolen may contain CFSBLOCK extra chars */ + return(dtov(iolen)-fronterr); + } -- cgit