diff options
author | Sören Tempel <soeren+git@soeren-tempel.net> | 2015-11-30 19:14:21 +0100 |
---|---|---|
committer | Sören Tempel <soeren+git@soeren-tempel.net> | 2015-12-07 18:51:21 +0100 |
commit | 7525cfa63719a65d5c5f924219b13a0111f1343f (patch) | |
tree | 459dbac35248cc6b5b0c93e8764d42b5a5d541b6 /testing/nvi/08lfs.patch | |
parent | 4b763f9b85d0696d458ffbd14d99544cdd7550cf (diff) | |
download | aports-7525cfa63719a65d5c5f924219b13a0111f1343f.tar.bz2 aports-7525cfa63719a65d5c5f924219b13a0111f1343f.tar.xz |
testing/nvi: new aport
Including a subset of the debian patchset.
Diffstat (limited to 'testing/nvi/08lfs.patch')
-rw-r--r-- | testing/nvi/08lfs.patch | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/testing/nvi/08lfs.patch b/testing/nvi/08lfs.patch new file mode 100644 index 0000000000..e5d9399a98 --- /dev/null +++ b/testing/nvi/08lfs.patch @@ -0,0 +1,25 @@ +From: <hesso@pool.math.tu-berlin.de> +Subject: Insert a safety check to save large files from being overwritten. + +diff -Naur nvi-1.81.6.orig/common/exf.c nvi-1.81.6/common/exf.c +--- nvi-1.81.6.orig/common/exf.c 2007-11-18 17:41:42.000000000 +0100 ++++ nvi-1.81.6/common/exf.c 2008-05-01 18:09:55.000000000 +0200 +@@ -157,6 +157,18 @@ + */ + if (file_spath(sp, frp, &sb, &exists)) + return (1); ++ /* ++ * On LFS systems, it's possible that stat returned an error because ++ * the file is >2GB, which nvi would normally treat as "doesn't exist" ++ * and eventually overwrite. That's no good. Rather than mess with ++ * every stat() call in file_spath, we'll just check again here. ++ */ ++ if (!exists && stat(frp->name, &sb)) { ++ if (errno == EOVERFLOW) { ++ msgq(sp, M_ERR, "File too large (>2GB, probably)"); ++ goto err; ++ } ++ } + + /* + * Check whether we already have this file opened in some |