freebsd-ports/sysutils/cmdwatch/files/patch-cmdwatch.c
Beat Gaetzi 67b73d1377 - Add patch to shuffle around the command line realloc loop to
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)
2009-06-06 08:14:40 +00:00

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();