aboutsummaryrefslogtreecommitdiffstats
path: root/sysutils
diff options
context:
space:
mode:
authorbeat <beat@FreeBSD.org>2009-06-06 16:14:40 +0800
committerbeat <beat@FreeBSD.org>2009-06-06 16:14:40 +0800
commit71f925aa2d131bd7896bbbe7839b2c021c730449 (patch)
treefc0eddaf55fd3d28af339287b9a20aaca6cf16a3 /sysutils
parent5a189a6a7dcd7988431b22aa3d6625cdba053f2a (diff)
downloadfreebsd-ports-71f925aa2d131bd7896bbbe7839b2c021c730449.tar.gz
freebsd-ports-71f925aa2d131bd7896bbbe7839b2c021c730449.tar.zst
freebsd-ports-71f925aa2d131bd7896bbbe7839b2c021c730449.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)
Diffstat (limited to 'sysutils')
-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();