function old new delta
wget_main 3444 3490 +46
.rodata 100926 100930 +4
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/0 up/down: 50/0) Total: 50 bytes
---
networking/wget.c | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/networking/wget.c b/networking/wget.c
index ec3767793..8d2f9792c 100644
--- a/networking/wget.c
+++ b/networking/wget.c
@@ -252,6 +252,7 @@ struct globals {
char *dir_prefix;
#if ENABLE_FEATURE_WGET_LONG_OPTIONS
char *post_data;
+ size_t post_size;
char *post_file;
char *extra_headers;
unsigned char user_headers; /* Headers mentioned by the user */
@@ -1262,8 +1263,11 @@ static void download_one_url(const char *url)
if (option_mask32 & WGET_OPT_POST_FILE) {
int fd = xopen_stdin(G.post_file);
- G.post_data = xmalloc_read(fd, NULL);
+ G.post_size = INT_MAX - 4095;
+ G.post_data = xmalloc_read(fd, &G.post_size);
close(fd);
+ } else if (G.post_data) {
+ G.post_size = strlen(G.post_data);
}
if (G.post_data) {
@@ -1274,11 +1278,11 @@ static void download_one_url(const char *url)
);
}
SENDFMT(sfp,
- "Content-Length: %u\r\n"
- "\r\n"
- "%s",
- (int) strlen(G.post_data), G.post_data
+ "Content-Length: %zu\r\n"
+ "\r\n",
+ G.post_size
);
+ fwrite(G.post_data, 1, G.post_size, sfp);
} else
#endif
{
--
2.52.0
_______________________________________________
busybox mailing list
[email protected]
https://lists.busybox.net/mailman/listinfo/busybox