67b73d1377
avoid a assigning endp to the end of the buffer then realloc()ing the buffer to a different location. 'cmdwatch ps ruaxww' failed consistently due to this bug. - Bump PORTREVISION. Submitted by: brian@ (via private mail) Approved by: miwi (mentor, implicit)
20 lines
695 B
C
20 lines
695 B
C
--- cmdwatch.c.orig 2009-06-04 01:07:21.000000000 -0700
|
|
+++ cmdwatch.c 2009-06-04 01:11:52.000000000 -0700
|
|
@@ -163,12 +163,11 @@
|
|
command_length = strlen(command);
|
|
for (;optind<argc;optind++)
|
|
{
|
|
- int s = strlen(argv[optind]);
|
|
- char *endp = &command[command_length];
|
|
- *endp = ' ';
|
|
- command_length += s + 1;
|
|
- command = realloc(command, command_length+1);
|
|
- strcpy(endp+1, argv[optind]);
|
|
+ int nlen = command_length + 1 + strlen(argv[optind]);
|
|
+ command = realloc(command, nlen + 1);
|
|
+ command[command_length] = ' ';
|
|
+ strcpy(command + command_length + 1, argv[optind]);
|
|
+ command_length = nlen;
|
|
}
|
|
|
|
get_terminal_size();
|