summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkim <kim@pkgsrc.org>2004-07-28 02:50:22 +0000
committerkim <kim@pkgsrc.org>2004-07-28 02:50:22 +0000
commitf2bd3e8ff6c4f6319d6ffa2e213d3004eeb663ad (patch)
tree6f07b358ea6a9ddf4efdbc93005d445e05f53978
parent7a63d66b8f63ca18865f3735ee4cba993c020f7c (diff)
downloadpkgsrc-f2bd3e8ff6c4f6319d6ffa2e213d3004eeb663ad.tar.gz
Add a patch from abook CVS to fix string truncation in mutt import filter.
-rw-r--r--databases/abook/Makefile3
-rw-r--r--databases/abook/distinfo3
-rw-r--r--databases/abook/patches/patch-aa40
3 files changed, 44 insertions, 2 deletions
diff --git a/databases/abook/Makefile b/databases/abook/Makefile
index 9d4c2b10df7..2306f4f56b6 100644
--- a/databases/abook/Makefile
+++ b/databases/abook/Makefile
@@ -1,7 +1,8 @@
-# $NetBSD: Makefile,v 1.8 2004/06/28 19:23:53 minskim Exp $
+# $NetBSD: Makefile,v 1.9 2004/07/28 02:50:22 kim Exp $
#
DISTNAME= abook-0.5.2
+PKGREVISION= 1
CATEGORIES= databases
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=abook/}
diff --git a/databases/abook/distinfo b/databases/abook/distinfo
index eb34f3b5692..3af2f030896 100644
--- a/databases/abook/distinfo
+++ b/databases/abook/distinfo
@@ -1,4 +1,5 @@
-$NetBSD: distinfo,v 1.3 2004/06/28 19:22:38 minskim Exp $
+$NetBSD: distinfo,v 1.4 2004/07/28 02:50:22 kim Exp $
SHA1 (abook-0.5.2.tar.gz) = 08f7382bd1a085172c9471922bcc984aa131eb80
Size (abook-0.5.2.tar.gz) = 183852 bytes
+SHA1 (patch-aa) = 3135f0899056ea540bdf76c0bc583e48696af6fb
diff --git a/databases/abook/patches/patch-aa b/databases/abook/patches/patch-aa
new file mode 100644
index 00000000000..9daf8cef3a9
--- /dev/null
+++ b/databases/abook/patches/patch-aa
@@ -0,0 +1,40 @@
+$NetBSD: patch-aa,v 1.1 2004/07/28 02:50:22 kim Exp $
+
+--- filter.c 2004/01/23 07:14:32 1.29
++++ filter.c 2004/03/25 18:19:38 1.30
+@@ -1,6 +1,6 @@
+
+ /*
+- * $Id: patch-aa,v 1.1 2004/07/28 02:50:22 kim Exp $
++ * $Id: patch-aa,v 1.1 2004/07/28 02:50:22 kim Exp $
+ *
+ * by JH <jheinonen@users.sourceforge.net>
+ *
+@@ -618,6 +618,7 @@
+ mutt_read_line(FILE *in, char **alias, char **rest)
+ {
+ char *line, *ptr, *tmp;
++ size_t alias_len;
+
+ if( !(line = ptr = getaline(in)) )
+ return 1; /* error / EOF */
+@@ -640,13 +641,16 @@
+ while( ! ISSPACE(*ptr) )
+ ptr++;
+
+- if( (*alias = (char *)malloc(ptr - tmp)) == NULL) {
++ /* includes also the trailing zero */
++ alias_len = (size_t)(ptr - tmp + 1);
++
++ if( (*alias = (char *)malloc(alias_len)) == NULL) {
+ free(line);
+ return 1;
+ }
+
+- strncpy(*alias, tmp, ptr - tmp - 1);
+- *(*alias + (ptr - tmp - 1)) = 0;
++ strncpy(*alias, tmp, alias_len - 1);
++ *(*alias + alias_len - 1) = 0;
+
+ while(ISSPACE(*ptr))
+ ptr++;