From c14f01ea442295e2d658a1f9bec866c5638bb3ca Mon Sep 17 00:00:00 2001 From: Michael Drake Date: Sun, 10 Nov 2019 14:35:07 +0000 Subject: File fetcher: Optimise HTTP header generation. --- content/fetchers/file.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'content/fetchers') diff --git a/content/fetchers/file.c b/content/fetchers/file.c index 5c9d15837..b5b4221dc 100644 --- a/content/fetchers/file.c +++ b/content/fetchers/file.c @@ -99,19 +99,21 @@ static bool fetch_file_send_header(struct fetch_file_context *ctx, fetch_msg msg; char header[64]; va_list ap; + int len; va_start(ap, fmt); - - vsnprintf(header, sizeof header, fmt, ap); - + len = vsnprintf(header, sizeof header, fmt, ap); va_end(ap); + if (len >= (int)sizeof(header) || len < 0) { + return false; + } + msg.type = FETCH_HEADER; msg.data.header_or_data.buf = (const uint8_t *) header; - msg.data.header_or_data.len = strlen(header); - fetch_file_send_callback(&msg, ctx); + msg.data.header_or_data.len = len; - return ctx->aborted; + return fetch_file_send_callback(&msg, ctx); } /** callback to initialise the file fetcher. */ -- cgit v1.2.3