aboutsummaryrefslogtreecommitdiffstats
path: root/deskutils/kdepim4
diff options
context:
space:
mode:
authorwill <will@FreeBSD.org>2004-01-15 13:24:57 +0800
committerwill <will@FreeBSD.org>2004-01-15 13:24:57 +0800
commit4b9274992a162df7f671da3b0fc760ab6730e41d (patch)
treeed7cbe7a2f8377276fcf0f1fad5965ef5d1f119f /deskutils/kdepim4
parent79ba3badc0a85462222ca5dfa246fb0a4331b668 (diff)
downloadfreebsd-ports-gnome-4b9274992a162df7f671da3b0fc760ab6730e41d.tar.gz
freebsd-ports-gnome-4b9274992a162df7f671da3b0fc760ab6730e41d.tar.zst
freebsd-ports-gnome-4b9274992a162df7f671da3b0fc760ab6730e41d.zip
Fix a buffer overflow in the file information reader of VCF files.
See http://www.kde.org/info/security/advisory-20040114-1.txt and http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2003-0988 for more info. Bump PORTREVISION as this is a strongly recommended patch. This approach is simpler than upgrading all KDE ports to 3.1.5, since we're going to upgrade them to 3.2 in under a month anyway. Submitted by: Andy Fawcett <andy@athame.co.uk>
Diffstat (limited to 'deskutils/kdepim4')
-rw-r--r--deskutils/kdepim4/Makefile1
-rw-r--r--deskutils/kdepim4/files/patch-vcf-kfile_vcf.cpp24
2 files changed, 25 insertions, 0 deletions
diff --git a/deskutils/kdepim4/Makefile b/deskutils/kdepim4/Makefile
index cbcddd3366e7..3048aa3553ba 100644
--- a/deskutils/kdepim4/Makefile
+++ b/deskutils/kdepim4/Makefile
@@ -7,6 +7,7 @@
PORTNAME= kdepim
PORTVERSION= ${KDE_VERSION}
+PORTREVISION= 1
CATEGORIES= deskutils kde
MASTER_SITES= ${MASTER_SITE_KDE}
MASTER_SITE_SUBDIR= stable/${PORTVERSION}/src
diff --git a/deskutils/kdepim4/files/patch-vcf-kfile_vcf.cpp b/deskutils/kdepim4/files/patch-vcf-kfile_vcf.cpp
new file mode 100644
index 000000000000..e3860317514b
--- /dev/null
+++ b/deskutils/kdepim4/files/patch-vcf-kfile_vcf.cpp
@@ -0,0 +1,24 @@
+--- kfile-plugins/vcf/kfile_vcf.cpp 2003-07-16 21:12:41.000000000 +0200
++++ kfile-plugins/vcf/kfile_vcf.cpp 2003-12-16 15:38:20.000000000 +0100
+@@ -90,17 +90,17 @@
+ while (!done) {
+
+ // read a line
+- file.readLine(linebuf, 4096);
++ file.readLine(linebuf, sizeof(linebuf));
+
+ // have we got something useful?
+ if (memcmp(linebuf, id_name, 3) == 0) {
+ // we have a name
+ myptr = linebuf + 3;
+- strncpy(buf_name, myptr, 999);
++ strlcpy(buf_name, myptr, sizeof( buf_name ));
+ } else if (memcmp(linebuf, id_email, 15) == 0) {
+ // we have a name
+ myptr = linebuf + 15;
+- strncpy(buf_email, myptr, 999);
++ strlcpy(buf_email, myptr, sizeof( buf_email ));
+ }
+
+ // are we done yet?
+