summaryrefslogtreecommitdiff
path: root/sysutils/cmdwatch/files/patch-cmdwatch.c
diff options
context:
space:
mode:
authorBeat Gaetzi <beat@FreeBSD.org>2009-06-06 08:14:40 +0000
committerBeat Gaetzi <beat@FreeBSD.org>2009-06-06 08:14:40 +0000
commit67b73d1377e6999c3eb829c81e4def84e47a9489 (patch)
tree7320e7c1510780503119552bcdb4aeb1da30cb14 /sysutils/cmdwatch/files/patch-cmdwatch.c
parent- Update to 0.7.1 (diff)
- 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)
Notes
Notes: svn path=/head/; revision=235301
Diffstat (limited to 'sysutils/cmdwatch/files/patch-cmdwatch.c')
-rw-r--r--sysutils/cmdwatch/files/patch-cmdwatch.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/sysutils/cmdwatch/files/patch-cmdwatch.c b/sysutils/cmdwatch/files/patch-cmdwatch.c
new file mode 100644
index 000000000000..7daaa8c0795d
--- /dev/null
+++ b/sysutils/cmdwatch/files/patch-cmdwatch.c
@@ -0,0 +1,20 @@
+--- 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();