summaryrefslogtreecommitdiff
path: root/databases/abook/patches/patch-aa
blob: 3af1a4dff0a9023555c1c20bbcdf5690e7ca14dd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
$NetBSD: patch-aa,v 1.2 2004/07/28 02:51:31 kim Exp $

--- filter.c	2004/01/23 07:14:32	1.29
+++ filter.c	2004/03/25 18:19:38	1.30
@@ -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++;