*: hopefully all setup_common_bufsiz() are in place
No binary (build failed)
—
(log yok)
| @@ -162,6 +162,7 @@ | |
| #define block_buf bb_common_bufsiz1 | |
| + | #define INIT_G() do { setup_common_bufsiz(); } while (0) |
| #if ENABLE_FEATURE_TAR_CREATE | |
| @@ -964,6 +965,7 @@ int tar_main(int argc UNUSED_PARAM, char **argv) | |
| #if ENABLE_FEATURE_TAR_LONG_OPTIONS && ENABLE_FEATURE_TAR_FROM | |
| llist_t *excludes = NULL; | |
| #endif | |
| + | INIT_G(); |
| /* Initialise default values */ | |
| tar_handle = init_handle(); | |
| @@ -38,6 +38,7 @@ int dumpkmap_main(int argc UNUSED_PARAM, char **argv) | |
| struct kbentry ke; | |
| int i, j, fd; | |
| #define flags bb_common_bufsiz1 | |
| + | setup_common_bufsiz(); |
| /* When user accidentally runs "dumpkmap FILE" | |
| * instead of "dumpkmap >FILE", we'd dump binary stuff to tty. | |
| @@ -49,6 +49,9 @@ int catv_main(int argc UNUSED_PARAM, char **argv) | |
| /* Read from stdin if there's nothing else to do. */ | |
| if (!argv[0]) | |
| *--argv = (char*)"-"; | |
| + | |
| + | #define read_buf bb_common_bufsiz1 |
| + | setup_common_bufsiz(); |
| do { | |
| fd = open_or_warn_stdin(*argv); | |
| if (fd < 0) { | |
| @@ -58,7 +61,6 @@ int catv_main(int argc UNUSED_PARAM, char **argv) | |
| for (;;) { | |
| int i, res; | |
| - | #define read_buf bb_common_bufsiz1 |
| res = read(fd, read_buf, COMMON_BUFSIZE); | |
| if (res < 0) | |
| retval = EXIT_FAILURE; | |
| @@ -33,6 +33,7 @@ int cksum_main(int argc UNUSED_PARAM, char **argv) | |
| argv++; | |
| #endif | |
| + | setup_common_bufsiz(); |
| do { | |
| int fd = open_or_warn_stdin(*argv ? *argv : bb_msg_standard_input); | |
| @@ -43,9 +44,8 @@ int cksum_main(int argc UNUSED_PARAM, char **argv) | |
| crc = 0; | |
| length = 0; | |
| - | #define read_buf bb_common_bufsiz1 |
| - | #define sizeof_read_buf COMMON_BUFSIZE |
| - | while ((bytes_read = safe_read(fd, read_buf, sizeof_read_buf)) > 0) { |
| + | #define read_buf bb_common_bufsiz1 |
| + | while ((bytes_read = safe_read(fd, read_buf, COMMON_BUFSIZE)) > 0) { |
| length += bytes_read; | |
| crc = crc32_block_endian1(crc, read_buf, bytes_read, crc32_table); | |
| } | |
| @@ -368,8 +368,8 @@ int date_main(int argc UNUSED_PARAM, char **argv) | |
| } | |
| #endif | |
| - | #define date_buf bb_common_bufsiz1 |
| - | #define sizeof_date_buf COMMON_BUFSIZE |
| + | #define date_buf bb_common_bufsiz1 |
| + | setup_common_bufsiz(); |
| if (*fmt_dt2str == '\0') { | |
| /* With no format string, just print a blank line */ | |
| date_buf[0] = '\0'; | |
| @@ -379,7 +379,7 @@ int date_main(int argc UNUSED_PARAM, char **argv) | |
| fmt_dt2str = (char*)"%Y.%m.%d-%H:%M:%S"; | |
| } | |
| /* Generate output string */ | |
| - | strftime(date_buf, sizeof_date_buf, fmt_dt2str, &tm_time); |
| + | strftime(date_buf, COMMON_BUFSIZE, fmt_dt2str, &tm_time); |
| } | |
| puts(date_buf); | |
| @@ -79,6 +79,8 @@ int split_main(int argc UNUSED_PARAM, char **argv) | |
| ssize_t bytes_read, to_write; | |
| char *src; | |
| + | setup_common_bufsiz(); |
| + | |
| opt_complementary = "?2:a+"; /* max 2 args; -a N */ | |
| opt = getopt32(argv, "l:b:a:", &count_p, &count_p, &suffix_len); | |
| @@ -158,10 +158,9 @@ static const char *human_time(time_t t) | |
| /* coreutils 6.3 compat: */ | |
| /*static char buf[sizeof("YYYY-MM-DD HH:MM:SS.000000000")] ALIGN1;*/ | |
| - | #define buf bb_common_bufsiz1 |
| - | #define sizeof_buf COMMON_BUFSIZE |
| - | |
| - | strcpy(strftime_YYYYMMDDHHMMSS(buf, sizeof_buf, &t), ".000000000"); |
| + | #define buf bb_common_bufsiz1 |
| + | setup_common_bufsiz(); |
| + | strcpy(strftime_YYYYMMDDHHMMSS(buf, COMMON_BUFSIZE, &t), ".000000000"); |
| return buf; | |
| #undef buf | |
| } | |
| @@ -31,12 +31,14 @@ enum { SUM_BSD, PRINT_NAME, SUM_SYSV }; | |
| /* Return 1 if successful. */ | |
| static unsigned sum_file(const char *file, unsigned type) | |
| { | |
| - | #define buf bb_common_bufsiz1 |
| unsigned long long total_bytes = 0; | |
| int fd, r; | |
| /* The sum of all the input bytes, modulo (UINT_MAX + 1). */ | |
| unsigned s = 0; | |
| + | #define buf bb_common_bufsiz1 |
| + | setup_common_bufsiz(); |
| + | |
| fd = open_or_warn_stdin(file); | |
| if (fd == -1) | |
| return 0; | |
| @@ -37,8 +37,8 @@ int tee_main(int argc, char **argv) | |
| //TODO: make unconditional | |
| #if ENABLE_FEATURE_TEE_USE_BLOCK_IO | |
| ssize_t c; | |
| - | # define buf bb_common_bufsiz1 |
| - | # define sizeof_buf COMMON_BUFSIZE |
| + | # define buf bb_common_bufsiz1 |
| + | setup_common_bufsiz(); |
| #else | |
| int c; | |
| #endif | |
| @@ -81,7 +81,7 @@ int tee_main(int argc, char **argv) | |
| /* names[0] will be filled later */ | |
| #if ENABLE_FEATURE_TEE_USE_BLOCK_IO | |
| - | while ((c = safe_read(STDIN_FILENO, buf, sizeof_buf)) > 0) { |
| + | while ((c = safe_read(STDIN_FILENO, buf, COMMON_BUFSIZE)) > 0) { |
| fp = files; | |
| do | |
| fwrite(buf, 1, c, *fp); | |
| @@ -749,6 +749,7 @@ static int diffreg(char *file[2]) | |
| fp[i] = fdopen(fd, "r"); | |
| } | |
| + | setup_common_bufsiz(); |
| while (1) { | |
| const size_t sz = COMMON_BUFSIZE / 2; | |
| char *const buf0 = bb_common_bufsiz1; | |
| @@ -33,12 +33,11 @@ typedef struct LINE { | |
| } LINE; | |
| - | #define searchString bb_common_bufsiz1 |
| - | #define sizeof_searchString COMMON_BUFSIZE |
| + | #define searchString bb_common_bufsiz1 |
| enum { | |
| - | USERSIZE = sizeof_searchString > 1024 ? 1024 |
| - | : sizeof_searchString - 1, /* max line length typed in by user */ |
| + | USERSIZE = COMMON_BUFSIZE > 1024 ? 1024 |
| + | : COMMON_BUFSIZE - 1, /* max line length typed in by user */ |
| INITBUF_SIZE = 1024, /* initial buffer size */ | |
| }; | |
| @@ -68,6 +67,7 @@ struct globals { | |
| #define lines (G.lines ) | |
| #define marks (G.marks ) | |
| #define INIT_G() do { \ | |
| + | setup_common_bufsiz(); \ |
| SET_PTR_TO_GLOBALS(xzalloc(sizeof(G))); \ | |
| } while (0) | |
| @@ -286,9 +286,10 @@ int chat_main(int argc UNUSED_PARAM, char **argv) | |
| && poll(&pfd, 1, timeout) > 0 | |
| && (pfd.revents & POLLIN) | |
| ) { | |
| - | #define buf bb_common_bufsiz1 |
| llist_t *l; | |
| ssize_t delta; | |
| + | #define buf bb_common_bufsiz1 |
| + | setup_common_bufsiz(); |
| // read next char from device | |
| if (safe_read(STDIN_FILENO, buf+buf_len, 1) > 0) { | |
| @@ -364,8 +364,6 @@ int conspy_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; | |
| int conspy_main(int argc UNUSED_PARAM, char **argv) | |
| { | |
| char tty_name[sizeof(DEV_TTY "NN")]; | |
| - | #define keybuf bb_common_bufsiz1 |
| - | #define sizeof_keybuf COMMON_BUFSIZE |
| struct termios termbuf; | |
| unsigned opts; | |
| unsigned ttynum; | |
| @@ -384,6 +382,9 @@ int conspy_main(int argc UNUSED_PARAM, char **argv) | |
| applet_long_options = getopt_longopts; | |
| #endif | |
| + | #define keybuf bb_common_bufsiz1 |
| + | setup_common_bufsiz(); |
| + | |
| INIT_G(); | |
| strcpy(G.vcsa_name, DEV_VCSA); | |
| @@ -515,7 +516,7 @@ int conspy_main(int argc UNUSED_PARAM, char **argv) | |
| default: | |
| // Read the keys pressed | |
| k = keybuf + G.key_count; | |
| - | bytes_read = read(G.kbd_fd, k, sizeof_keybuf - G.key_count); |
| + | bytes_read = read(G.kbd_fd, k, COMMON_BUFSIZE - G.key_count); |
| if (bytes_read < 0) | |
| goto abort; | |
| @@ -373,12 +373,13 @@ static void fb_drawimage(void) | |
| * - A raster of Width * Height pixels in triplets of rgb | |
| * in pure binary by 1 or 2 bytes. (we support only 1 byte) | |
| */ | |
| - | #define concat_buf bb_common_bufsiz1 |
| - | #define sizeof_concat_buf COMMON_BUFSIZE |
| + | #define concat_buf bb_common_bufsiz1 |
| + | setup_common_bufsiz(); |
| + | |
| read_ptr = concat_buf; | |
| while (1) { | |
| int w, h, max_color_val; | |
| - | int rem = concat_buf + sizeof_concat_buf - read_ptr; |
| + | int rem = concat_buf + COMMON_BUFSIZE - read_ptr; |
| if (rem < 2 | |
| || fgets(read_ptr, rem, theme_file) == NULL | |
| ) { | |
| @@ -162,10 +162,10 @@ int inotifyd_main(int argc, char **argv) | |
| // read out all pending events | |
| // (NB: len must be int, not ssize_t or long!) | |
| + | #define eventbuf bb_common_bufsiz1 |
| + | setup_common_bufsiz(); |
| xioctl(pfd.fd, FIONREAD, &len); | |
| - | #define eventbuf bb_common_bufsiz1 |
| - | #define sizeof_eventbuf COMMON_BUFSIZE |
| - | ie = buf = (len <= sizeof_eventbuf) ? eventbuf : xmalloc(len); |
| + | ie = buf = (len <= COMMON_BUFSIZE) ? eventbuf : xmalloc(len); |
| len = full_read(pfd.fd, buf, len); | |
| // process events. N.B. events may vary in length | |
| while (len > 0) { | |
| @@ -440,8 +440,6 @@ static int at_end(void) | |
| */ | |
| static void read_lines(void) | |
| { | |
| - | #define readbuf bb_common_bufsiz1 |
| - | #define sizeof_readbuf COMMON_BUFSIZE |
| char *current_line, *p; | |
| int w = width; | |
| char last_terminated = terminated; | |
| @@ -451,6 +449,9 @@ static void read_lines(void) | |
| unsigned old_max_fline = max_fline; | |
| #endif | |
| + | #define readbuf bb_common_bufsiz1 |
| + | setup_common_bufsiz(); |
| + | |
| /* (careful: max_fline can be -1) */ | |
| if (max_fline + 1 > MAXLINES) | |
| return; | |
| @@ -482,7 +483,7 @@ static void read_lines(void) | |
| time_t t; | |
| errno = 0; | |
| - | eof_error = safe_read(STDIN_FILENO, readbuf, sizeof_readbuf); |
| + | eof_error = safe_read(STDIN_FILENO, readbuf, COMMON_BUFSIZE); |
| if (errno != EAGAIN) | |
| break; | |
| t = time(NULL); | |
| @@ -156,11 +156,11 @@ int microcom_main(int argc UNUSED_PARAM, char **argv) | |
| skip_write: ; | |
| } | |
| if (pfd[0].revents) { | |
| - | #define iobuf bb_common_bufsiz1 |
| - | #define sizeof_iobuf COMMON_BUFSIZE |
| ssize_t len; | |
| + | #define iobuf bb_common_bufsiz1 |
| + | setup_common_bufsiz(); |
| // read from device -> write to stdout | |
| - | len = safe_read(sfd, iobuf, sizeof_iobuf); |
| + | len = safe_read(sfd, iobuf, COMMON_BUFSIZE); |
| if (len > 0) | |
| full_write(STDOUT_FILENO, iobuf, len); | |
| else { | |
| @@ -370,6 +370,7 @@ enum { | |
| # define content_gzip 0 | |
| #endif | |
| #define INIT_G() do { \ | |
| + | setup_common_bufsiz(); \ |
| SET_PTR_TO_GLOBALS(xzalloc(sizeof(G))); \ | |
| IF_FEATURE_HTTPD_BASIC_AUTH(g_realm = "Web Server Authentication";) \ | |
| IF_FEATURE_HTTPD_RANGES(range_start = -1;) \ | |
| @@ -29,8 +29,7 @@ typedef struct identd_buf_t { | |
| char buf[64 - sizeof(int)]; | |
| } identd_buf_t; | |
| - | #define bogouser bb_common_bufsiz1 |
| - | #define sizeof_bogouser COMMON_BUFSIZE |
| + | #define bogouser bb_common_bufsiz1 |
| static int new_peer(isrv_state_t *state, int fd) | |
| { | |
| @@ -117,10 +116,12 @@ int fakeidentd_main(int argc UNUSED_PARAM, char **argv) | |
| unsigned opt; | |
| int fd; | |
| + | setup_common_bufsiz(); |
| + | |
| opt = getopt32(argv, "fiwb:", &bind_address); | |
| strcpy(bogouser, "nobody"); | |
| if (argv[optind]) | |
| - | strncpy(bogouser, argv[optind], sizeof_bogouser - 1); |
| + | strncpy(bogouser, argv[optind], COMMON_BUFSIZE - 1); |
| /* Daemonize if no -f and no -i and no -w */ | |
| if (!(opt & OPT_fiw)) | |
| @@ -41,7 +41,7 @@ struct filter_t { | |
| typedef struct filter_t filter_t; | |
| #define G_filter (*(filter_t*)bb_common_bufsiz1) | |
| - | |
| + | #define INIT_G() do { setup_common_bufsiz(); } while (0) |
| static void print_link_flags(unsigned flags, unsigned mdown) | |
| { | |
| @@ -745,6 +745,9 @@ int FAST_FUNC do_ipaddr(char **argv) | |
| /* 0 1 2 3 4 5 6 7 8 */ | |
| "add\0""change\0""chg\0""replace\0""delete\0""list\0""show\0""lst\0""flush\0"; | |
| int cmd = 2; | |
| + | |
| + | INIT_G(); |
| + | |
| if (*argv) { | |
| cmd = index_in_substrings(commands, *argv); | |
| if (cmd < 0) | |
| @@ -42,6 +42,7 @@ struct filter_t { | |
| typedef struct filter_t filter_t; | |
| #define G_filter (*(filter_t*)bb_common_bufsiz1) | |
| + | #define INIT_G() do { setup_common_bufsiz(); } while (0) |
| static int flush_update(void) | |
| { | |
| @@ -339,6 +340,8 @@ int FAST_FUNC do_ipneigh(char **argv) | |
| /*0-1*/ "show\0" "flush\0"; | |
| int command_num; | |
| + | INIT_G(); |
| + | |
| if (!*argv) | |
| return ipneigh_list_or_flush(argv, 0); | |
| @@ -45,6 +45,7 @@ struct filter_t { | |
| typedef struct filter_t filter_t; | |
| #define G_filter (*(filter_t*)bb_common_bufsiz1) | |
| + | #define INIT_G() do { setup_common_bufsiz(); } while (0) |
| static int flush_update(void) | |
| { | |
| @@ -903,6 +904,8 @@ int FAST_FUNC do_iproute(char **argv) | |
| unsigned flags = 0; | |
| int cmd = RTM_NEWROUTE; | |
| + | INIT_G(); |
| + | |
| if (!*argv) | |
| return iproute_list_or_flush(argv, 0); | |
| @@ -239,6 +239,8 @@ int nc_main(int argc, char **argv) | |
| FD_SET(cfd, &readfds); | |
| FD_SET(STDIN_FILENO, &readfds); | |
| + | #define iobuf bb_common_bufsiz1 |
| + | setup_common_bufsiz(); |
| for (;;) { | |
| int fd; | |
| int ofd; | |
| @@ -249,7 +251,6 @@ int nc_main(int argc, char **argv) | |
| if (select(cfd + 1, &testfds, NULL, NULL, NULL) < 0) | |
| bb_perror_msg_and_die("select"); | |
| - | #define iobuf bb_common_bufsiz1 |
| fd = STDIN_FILENO; | |
| while (1) { | |
| if (FD_ISSET(fd, &testfds)) { | |
| @@ -109,16 +109,15 @@ struct globals { | |
| #define proc_meminfo (G.proc_meminfo ) | |
| #define proc_diskstats (G.proc_diskstats ) | |
| #define proc_sys_fs_filenr (G.proc_sys_fs_filenr) | |
| + | #define outbuf bb_common_bufsiz1 |
| #define INIT_G() do { \ | |
| + | setup_common_bufsiz(); \ |
| SET_PTR_TO_GLOBALS(xzalloc(sizeof(G))); \ | |
| cur_outbuf = outbuf; \ | |
| G.final_char = '\n'; \ | |
| G.deltanz = G.delta = 1000000; \ | |
| } while (0) | |
| - | #define outbuf bb_common_bufsiz1 |
| - | #define sizeof_outbuf COMMON_BUFSIZE |
| - | |
| static inline void reset_outbuf(void) | |
| { | |
| cur_outbuf = outbuf; | |
| @@ -141,7 +140,7 @@ static void print_outbuf(void) | |
| static void put(const char *s) | |
| { | |
| char *p = cur_outbuf; | |
| - | int sz = outbuf + sizeof_outbuf - p; |
| + | int sz = outbuf + COMMON_BUFSIZE - p; |
| while (*s && --sz >= 0) | |
| *p++ = *s++; | |
| cur_outbuf = p; | |
| @@ -149,7 +148,7 @@ static void put(const char *s) | |
| static void put_c(char c) | |
| { | |
| - | if (cur_outbuf < outbuf + sizeof_outbuf) |
| + | if (cur_outbuf < outbuf + COMMON_BUFSIZE) |
| *cur_outbuf++ = c; | |
| } | |
| @@ -234,7 +234,9 @@ struct globals { | |
| #define blocked_sigset (G.blocked_sigset) | |
| #define fl_flag_0 (G.fl_flag_0 ) | |
| #define dirn (G.dirn ) | |
| + | #define line bb_common_bufsiz1 |
| #define INIT_G() do { \ | |
| + | setup_common_bufsiz(); \ |
| SET_PTR_TO_GLOBALS(xzalloc(sizeof(G))); \ | |
| linemax = 1000; \ | |
| /*buflen = 1024;*/ \ | |
| @@ -242,8 +244,6 @@ struct globals { | |
| replace = ""; \ | |
| } while (0) | |
| - | #define line bb_common_bufsiz1 |
| - | |
| #define FATAL "fatal: " | |
| #define WARNING "warning: " | |
| @@ -146,10 +146,9 @@ static void klogd_close(void) | |
| #endif | |
| - | #define log_buffer bb_common_bufsiz1 |
| - | #define sizeof_log_buffer COMMON_BUFSIZE |
| + | #define log_buffer bb_common_bufsiz1 |
| enum { | |
| - | KLOGD_LOGBUF_SIZE = sizeof_log_buffer, |
| + | KLOGD_LOGBUF_SIZE = COMMON_BUFSIZE, |
| OPT_LEVEL = (1 << 0), | |
| OPT_FOREGROUND = (1 << 1), | |
| }; | |
| @@ -175,6 +174,8 @@ int klogd_main(int argc UNUSED_PARAM, char **argv) | |
| int opt; | |
| int used; | |
| + | setup_common_bufsiz(); |
| + | |
| opt = getopt32(argv, "c:n", &opt_c); | |
| if (opt & OPT_LEVEL) { | |
| /* Valid levels are between 1 and 8 */ | |
| @@ -99,6 +99,8 @@ int logger_main(int argc UNUSED_PARAM, char **argv) | |
| int opt; | |
| int i = 0; | |
| + | setup_common_bufsiz(); |
| + | |
| /* Fill out the name string early (may be overwritten later) */ | |
| str_t = uid2uname_utoa(geteuid()); | |
| @@ -109,12 +109,12 @@ int script_main(int argc UNUSED_PARAM, char **argv) | |
| if (child_pid) { | |
| /* parent */ | |
| - | #define buf bb_common_bufsiz1 |
| - | #define sizeof_buf COMMON_BUFSIZE |
| struct pollfd pfd[2]; | |
| int outfd, count, loop; | |
| double oldtime = ENABLE_SCRIPTREPLAY ? time(NULL) : 0; | |
| smallint fd_count = 2; | |
| + | #define buf bb_common_bufsiz1 |
| + | setup_common_bufsiz(); |
| outfd = xopen(fname, mode); | |
| pfd[0].fd = pty; | |
| @@ -136,7 +136,7 @@ int script_main(int argc UNUSED_PARAM, char **argv) | |
| } | |
| if (pfd[0].revents) { | |
| errno = 0; | |
| - | count = safe_read(pty, buf, sizeof_buf); |
| + | count = safe_read(pty, buf, COMMON_BUFSIZE); |
| if (count <= 0 && errno != EAGAIN) { | |
| /* err/eof from pty: exit */ | |
| goto restore; | |
| @@ -159,7 +159,7 @@ int script_main(int argc UNUSED_PARAM, char **argv) | |
| } | |
| } | |
| if (pfd[1].revents) { | |
| - | count = safe_read(STDIN_FILENO, buf, sizeof_buf); |
| + | count = safe_read(STDIN_FILENO, buf, COMMON_BUFSIZE); |
| if (count <= 0) { | |
| /* err/eof from stdin: don't read stdin anymore */ | |
| pfd[1].revents = 0; | |
| @@ -178,7 +178,7 @@ int script_main(int argc UNUSED_PARAM, char **argv) | |
| * (util-linux's script doesn't do this. buggy :) */ | |
| loop = 999; | |
| /* pty is in O_NONBLOCK mode, we exit as soon as buffer is empty */ | |
| - | while (--loop && (count = safe_read(pty, buf, sizeof_buf)) > 0) { |
| + | while (--loop && (count = safe_read(pty, buf, COMMON_BUFSIZE)) > 0) { |
| full_write(STDOUT_FILENO, buf, count); | |
| full_write(outfd, buf, count); | |
| } | |
| @@ -103,6 +103,7 @@ int umount_main(int argc UNUSED_PARAM, char **argv) | |
| if (opt & OPT_ALL) | |
| bb_error_msg_and_die("can't open '%s'", bb_path_mtab_file); | |
| } else { | |
| + | setup_common_bufsiz(); |
| while (getmntent_r(fp, &me, bb_common_bufsiz1, COMMON_BUFSIZE)) { | |
| /* Match fstype if passed */ | |
| if (!match_fstype(&me, fstype)) | |