diff options
| author | Denis Vlasenko <vda.linux@googlemail.com> | 2007-08-06 12:28:24 +0000 |
|---|---|---|
| committer | Denis Vlasenko <vda.linux@googlemail.com> | 2007-08-06 12:28:24 +0000 |
| commit | 8e209c3787f3b7d7bda3915afc6df0604b60707c (patch) | |
| tree | 5704e9f6b237952d7793571b151899aceec32f84 /coreutils | |
| parent | 73f21e9cb3aaa6f1643d2edc4f6abceda9a17834 (diff) | |
| download | busybox-w32-8e209c3787f3b7d7bda3915afc6df0604b60707c.tar.gz busybox-w32-8e209c3787f3b7d7bda3915afc6df0604b60707c.tar.bz2 busybox-w32-8e209c3787f3b7d7bda3915afc6df0604b60707c.zip | |
catv: catv without arguments was trying to use environ as argv.
(Alex Landau <landau_alex@yahoo.com>)
Diffstat (limited to 'coreutils')
| -rw-r--r-- | coreutils/catv.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/coreutils/catv.c b/coreutils/catv.c index 876b67a2a..0ca73a0c9 100644 --- a/coreutils/catv.c +++ b/coreutils/catv.c | |||
| @@ -15,7 +15,8 @@ | |||
| 15 | int catv_main(int argc, char **argv); | 15 | int catv_main(int argc, char **argv); |
| 16 | int catv_main(int argc, char **argv) | 16 | int catv_main(int argc, char **argv) |
| 17 | { | 17 | { |
| 18 | int retval = EXIT_SUCCESS, fd; | 18 | int retval = EXIT_SUCCESS; |
| 19 | int fd; | ||
| 19 | unsigned flags; | 20 | unsigned flags; |
| 20 | 21 | ||
| 21 | flags = getopt32(argc, argv, "etv"); | 22 | flags = getopt32(argc, argv, "etv"); |
| @@ -27,8 +28,10 @@ int catv_main(int argc, char **argv) | |||
| 27 | 28 | ||
| 28 | /* Read from stdin if there's nothing else to do. */ | 29 | /* Read from stdin if there's nothing else to do. */ |
| 29 | fd = 0; | 30 | fd = 0; |
| 30 | if (!argv[0]) | 31 | if (!argv[0]) { |
| 32 | argv--; | ||
| 31 | goto jump_in; | 33 | goto jump_in; |
| 34 | } | ||
| 32 | do { | 35 | do { |
| 33 | fd = open_or_warn(*argv, O_RDONLY); | 36 | fd = open_or_warn(*argv, O_RDONLY); |
| 34 | if (fd < 0) { | 37 | if (fd < 0) { |
| @@ -46,7 +49,7 @@ int catv_main(int argc, char **argv) | |||
| 46 | if (res < 1) | 49 | if (res < 1) |
| 47 | break; | 50 | break; |
| 48 | for (i = 0; i < res; i++) { | 51 | for (i = 0; i < res; i++) { |
| 49 | char c = read_buf[i]; | 52 | unsigned char c = read_buf[i]; |
| 50 | 53 | ||
| 51 | if (c > 126 && (flags & CATV_OPT_v)) { | 54 | if (c > 126 && (flags & CATV_OPT_v)) { |
| 52 | if (c == 127) { | 55 | if (c == 127) { |
