diff options
author | Robert Griebl | 2002-07-19 00:05:54 +0000 |
---|---|---|
committer | Robert Griebl | 2002-07-19 00:05:54 +0000 |
commit | d378c3149c6c24e7788f04a6d20ba360f3ea407e (patch) | |
tree | 945ff88bbbde5a32c2b3342b22d801be90ea40f2 /loginutils/getty.c | |
parent | 88947dd05e28a3b793b16dfd6db1b5414ca99017 (diff) | |
download | busybox-d378c3149c6c24e7788f04a6d20ba360f3ea407e.zip busybox-d378c3149c6c24e7788f04a6d20ba360f3ea407e.tar.gz |
Applied vodz' patches #49 and #50 (with a small correction in runshell.c)
#49: I found one memory overflow and memory leak in "ln" applet.
Last patch reduced also 54 bytes. ;)
#50: I found bug in loginutils/Makefile.in.
New patch have also new function to libbb and
aplied this to applets and other cosmetic changes.
Diffstat (limited to 'loginutils/getty.c')
-rw-r--r-- | loginutils/getty.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/loginutils/getty.c b/loginutils/getty.c index 2144c95..0176d62 100644 --- a/loginutils/getty.c +++ b/loginutils/getty.c @@ -232,7 +232,7 @@ static void termio_final(struct options *op, struct termio *tp, struct chardata *cp); static int caps_lock(const char *s); static int bcode(const char *s); -static void error(const char *fmt, ...); +static void error(const char *fmt, ...) __attribute__ ((noreturn)); /* The following is used for understandable diagnostics. */ @@ -299,8 +299,7 @@ int getty_main(int argc, char **argv) int iv; iv = getpid(); - if (ioctl(0, TIOCSPGRP, &iv) < 0) - perror_msg("ioctl() TIOCSPGRP call failed"); + ioctl(0, TIOCSPGRP, &iv); } #endif /* Initialize the termio settings (raw mode, eight-bit, blocking i/o). */ @@ -368,7 +367,6 @@ int getty_main(int argc, char **argv) (void) execl(options.login, options.login, "--", logname, (char *) 0); error("%s: can't exec %s: %m", options.tty, options.login); - return (0); /* quiet GCC */ } /* parse-args - parse command-line arguments */ @@ -382,10 +380,9 @@ static void parse_args(int argc, char **argv, struct options *op) while (isascii(c = getopt(argc, argv, "I:LH:f:hil:mt:wn"))) { switch (c) { case 'I': - if (!(op->initstring = strdup(optarg))) { + if (!(op->initstring = strdup(optarg))) error("can't malloc initstring"); - break; - } + { char ch, *p, *q; int i; |