diff options
Diffstat (limited to 'networking')
-rw-r--r-- | networking/wget.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/networking/wget.c b/networking/wget.c index 44c481a99..58a51d9ff 100644 --- a/networking/wget.c +++ b/networking/wget.c @@ -233,20 +233,19 @@ struct globals { char *fname_out; /* where to direct output (-O) */ const char *proxy_flag; /* Use proxies if env vars are set */ const char *user_agent; /* "User-Agent" header field */ + int output_fd; + int o_flags; #if ENABLE_FEATURE_WGET_TIMEOUT unsigned timeout_seconds; - bool die_if_timed_out; + smallint die_if_timed_out; #endif - int output_fd; - int o_flags; smallint chunked; /* chunked transfer encoding */ smallint got_clen; /* got content-length: from server */ /* Local downloads do benefit from big buffer. * With 512 byte buffer, it was measured to be * an order of magnitude slower than with big one. */ - uint64_t just_to_align_next_member; - char wget_buf[CONFIG_FEATURE_COPYBUF_KB*1024]; + char wget_buf[CONFIG_FEATURE_COPYBUF_KB*1024] ALIGNED(sizeof(long)); } FIX_ALIASING; #define G (*ptr_to_globals) #define INIT_G() do { \ @@ -349,9 +348,8 @@ static void strip_ipv6_scope_id(char *host) /* Base64-encode character string. */ static char *base64enc(const char *str) { - unsigned len = strlen(str); - if (len > sizeof(G.wget_buf)/4*3 - 10) /* paranoia */ - len = sizeof(G.wget_buf)/4*3 - 10; + /* paranoia */ + unsigned len = strnlen(str, sizeof(G.wget_buf)/4*3 - 10); bb_uuencode(G.wget_buf, str, len, bb_uuenc_tbl_base64); return G.wget_buf; } |