summaryrefslogtreecommitdiff
path: root/clients/zwrite
diff options
context:
space:
mode:
authorGravatar John F. Carr <jfc@mit.edu>1990-12-14 05:57:03 +0000
committerGravatar John F. Carr <jfc@mit.edu>1990-12-14 05:57:03 +0000
commit0106a68118637eeaf8ac266f3bfc41c4442995ba (patch)
tree2baf3c1e297bc0fb07bc244dc2d35a3be36d7042 /clients/zwrite
parent974ace3c868b923636a827d1a1102d8106e2b720 (diff)
Need to allocate extra byte for null at end of string when reading
from a terminal.
Diffstat (limited to 'clients/zwrite')
-rw-r--r--clients/zwrite/zwrite.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/clients/zwrite/zwrite.c b/clients/zwrite/zwrite.c
index 382ef2b..db4688e 100644
--- a/clients/zwrite/zwrite.c
+++ b/clients/zwrite/zwrite.c
@@ -265,14 +265,16 @@ main(argc, argv)
} else {
if (isatty(0)) {
for (;;) {
+ unsigned int l;
if (!fgets(bfr, sizeof bfr, stdin))
break;
if (!nodot && bfr[0] == '.' &&
(bfr[1] == '\n' || bfr[1] == '\0'))
break;
- message = realloc(message, (unsigned)(msgsize+strlen(bfr)));
+ l = strlen(bfr);
+ message = realloc(message, msgsize+l+1);
(void) strcpy(message+msgsize, bfr);
- msgsize += strlen(bfr);
+ msgsize += l;
}
message = realloc(message, (unsigned)(msgsize+1));
}