diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2007-06-04 10:16:52 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2007-06-04 10:16:52 +0000 |
commit | 74324c86663f57a19c1de303ee8c8e5449db9ef2 (patch) | |
tree | 11f5da9de4212875ce5811be2e1050e076378c9a /networking | |
parent | 4e5f82c76f08614d0b69f9ec4a8baac303af15f6 (diff) | |
download | busybox-w32-74324c86663f57a19c1de303ee8c8e5449db9ef2.tar.gz busybox-w32-74324c86663f57a19c1de303ee8c8e5449db9ef2.tar.bz2 busybox-w32-74324c86663f57a19c1de303ee8c8e5449db9ef2.zip |
Audit bb_common_bufsiz usage, add script which looks for misuse.
tr: stop using globals needlessly.
code: -103 bytes
Diffstat (limited to 'networking')
-rw-r--r-- | networking/hostname.c | 9 | ||||
-rw-r--r-- | networking/nc.c | 8 | ||||
-rw-r--r-- | networking/telnet.c | 15 |
3 files changed, 15 insertions, 17 deletions
diff --git a/networking/hostname.c b/networking/hostname.c index 50ef7b5d1..862bbdfa2 100644 --- a/networking/hostname.c +++ b/networking/hostname.c | |||
@@ -29,12 +29,13 @@ static void do_sethostname(char *s, int isfile) | |||
29 | } | 29 | } |
30 | } else { | 30 | } else { |
31 | f = xfopen(s, "r"); | 31 | f = xfopen(s, "r"); |
32 | while (fgets(bb_common_bufsiz1, sizeof(bb_common_bufsiz1), f) != NULL) { | 32 | #define strbuf bb_common_bufsiz1 |
33 | if (bb_common_bufsiz1[0] == '#') { | 33 | while (fgets(strbuf, sizeof(strbuf), f) != NULL) { |
34 | if (strbuf[0] == '#') { | ||
34 | continue; | 35 | continue; |
35 | } | 36 | } |
36 | chomp(bb_common_bufsiz1); | 37 | chomp(strbuf); |
37 | do_sethostname(bb_common_bufsiz1, 0); | 38 | do_sethostname(strbuf, 0); |
38 | } | 39 | } |
39 | if (ENABLE_FEATURE_CLEAN_UP) | 40 | if (ENABLE_FEATURE_CLEAN_UP) |
40 | fclose(f); | 41 | fclose(f); |
diff --git a/networking/nc.c b/networking/nc.c index 1fb38f83c..e7bd519e0 100644 --- a/networking/nc.c +++ b/networking/nc.c | |||
@@ -174,11 +174,10 @@ int nc_main(int argc, char **argv) | |||
174 | if (select(FD_SETSIZE, &testfds, NULL, NULL, NULL) < 0) | 174 | if (select(FD_SETSIZE, &testfds, NULL, NULL, NULL) < 0) |
175 | bb_perror_msg_and_die("select"); | 175 | bb_perror_msg_and_die("select"); |
176 | 176 | ||
177 | #define iobuf bb_common_bufsiz1 | ||
177 | for (fd = 0; fd < FD_SETSIZE; fd++) { | 178 | for (fd = 0; fd < FD_SETSIZE; fd++) { |
178 | if (FD_ISSET(fd, &testfds)) { | 179 | if (FD_ISSET(fd, &testfds)) { |
179 | nread = safe_read(fd, bb_common_bufsiz1, | 180 | nread = safe_read(fd, iobuf, sizeof(iobuf)); |
180 | sizeof(bb_common_bufsiz1)); | ||
181 | |||
182 | if (fd == cfd) { | 181 | if (fd == cfd) { |
183 | if (nread < 1) | 182 | if (nread < 1) |
184 | exit(0); | 183 | exit(0); |
@@ -192,8 +191,7 @@ int nc_main(int argc, char **argv) | |||
192 | } | 191 | } |
193 | ofd = cfd; | 192 | ofd = cfd; |
194 | } | 193 | } |
195 | 194 | xwrite(ofd, iobuf, nread); | |
196 | xwrite(ofd, bb_common_bufsiz1, nread); | ||
197 | if (delay > 0) sleep(delay); | 195 | if (delay > 0) sleep(delay); |
198 | } | 196 | } |
199 | } | 197 | } |
diff --git a/networking/telnet.c b/networking/telnet.c index caca89d2d..a634d7a2b 100644 --- a/networking/telnet.c +++ b/networking/telnet.c | |||
@@ -52,7 +52,6 @@ enum { | |||
52 | 52 | ||
53 | typedef unsigned char byte; | 53 | typedef unsigned char byte; |
54 | 54 | ||
55 | |||
56 | struct globals { | 55 | struct globals { |
57 | int netfd; /* console fd:s are 0 and 1 (and 2) */ | 56 | int netfd; /* console fd:s are 0 and 1 (and 2) */ |
58 | short iaclen; /* could even use byte */ | 57 | short iaclen; /* could even use byte */ |
@@ -78,9 +77,13 @@ struct globals { | |||
78 | struct termios termios_def; | 77 | struct termios termios_def; |
79 | struct termios termios_raw; | 78 | struct termios termios_raw; |
80 | }; | 79 | }; |
81 | |||
82 | #define G (*(struct globals*)&bb_common_bufsiz1) | 80 | #define G (*(struct globals*)&bb_common_bufsiz1) |
83 | 81 | void BUG_telnet_globals_too_big(void); | |
82 | #define INIT_G() do { \ | ||
83 | if (sizeof(G) > COMMON_BUFSIZE) \ | ||
84 | BUG_telnet_globals_too_big(); \ | ||
85 | /* memset(&G, 0, sizeof G); - already is */ \ | ||
86 | } while (0) | ||
84 | 87 | ||
85 | /* Function prototypes */ | 88 | /* Function prototypes */ |
86 | static void rawmode(void); | 89 | static void rawmode(void); |
@@ -547,8 +550,6 @@ static void cookmode(void) | |||
547 | tcsetattr(0, TCSADRAIN, &G.termios_def); | 550 | tcsetattr(0, TCSADRAIN, &G.termios_def); |
548 | } | 551 | } |
549 | 552 | ||
550 | void BUG_telnet_globals_too_big(void); | ||
551 | |||
552 | int telnet_main(int argc, char** argv); | 553 | int telnet_main(int argc, char** argv); |
553 | int telnet_main(int argc, char** argv) | 554 | int telnet_main(int argc, char** argv) |
554 | { | 555 | { |
@@ -562,9 +563,7 @@ int telnet_main(int argc, char** argv) | |||
562 | int maxfd; | 563 | int maxfd; |
563 | #endif | 564 | #endif |
564 | 565 | ||
565 | if (sizeof(G) > sizeof(bb_common_bufsiz1)) | 566 | INIT_G(); |
566 | BUG_telnet_globals_too_big(); | ||
567 | /* memset(&G, 0, sizeof G); - already is */ | ||
568 | 567 | ||
569 | #if ENABLE_FEATURE_AUTOWIDTH | 568 | #if ENABLE_FEATURE_AUTOWIDTH |
570 | get_terminal_width_height(0, &G.win_width, &G.win_height); | 569 | get_terminal_width_height(0, &G.win_width, &G.win_height); |