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++;
|