diff options
author | beat <beat@FreeBSD.org> | 2009-06-06 16:14:40 +0800 |
---|---|---|
committer | beat <beat@FreeBSD.org> | 2009-06-06 16:14:40 +0800 |
commit | 71f925aa2d131bd7896bbbe7839b2c021c730449 (patch) | |
tree | fc0eddaf55fd3d28af339287b9a20aaca6cf16a3 /sysutils/cmdwatch | |
parent | 5a189a6a7dcd7988431b22aa3d6625cdba053f2a (diff) | |
download | freebsd-ports-gnome-71f925aa2d131bd7896bbbe7839b2c021c730449.tar.gz freebsd-ports-gnome-71f925aa2d131bd7896bbbe7839b2c021c730449.tar.zst freebsd-ports-gnome-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/cmdwatch')
-rw-r--r-- | sysutils/cmdwatch/Makefile | 2 | ||||
-rw-r--r-- | sysutils/cmdwatch/files/patch-cmdwatch.c | 20 |
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(); |