diff options
author | 1990-12-14 05:57:03 +0000 | |
---|---|---|
committer | 1990-12-14 05:57:03 +0000 | |
commit | 0106a68118637eeaf8ac266f3bfc41c4442995ba (patch) | |
tree | 2baf3c1e297bc0fb07bc244dc2d35a3be36d7042 /clients/zwrite | |
parent | 974ace3c868b923636a827d1a1102d8106e2b720 (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.c | 6 |
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)); } |