aboutsummaryrefslogtreecommitdiff
path: root/sysutils/cmdwatch
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
parentfb8300f8a082ae05323d982f10ae9094e5c368f2 (diff)
downloadports-67b73d1377e6999c3eb829c81e4def84e47a9489.tar.gz
ports-67b73d1377e6999c3eb829c81e4def84e47a9489.zip
- 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')
-rw-r--r--sysutils/cmdwatch/Makefile2
-rw-r--r--sysutils/cmdwatch/files/patch-cmdwatch.c20
2 files changed, 21 insertions, 1 deletions
diff --git a/sysutils/cmdwatch/Makefile b/sysutils/cmdwatch/Makefile
index 99602f158fa3..c3337f634018 100644
--- a/sysutils/cmdwatch/Makefile
+++ b/sysutils/cmdwatch/Makefile
@@ -7,7 +7,7 @@
PORTNAME= cmdwatch
PORTVERSION= 0.2.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= sysutils
MASTER_SITES= http://www.chruetertee.ch/files/download/
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();