From 8d652f1ff453a1d87dfdec9c6c8dd077a707c613 Mon Sep 17 00:00:00 2001 From: Michael Drake Date: Sun, 10 Nov 2019 13:25:22 +0000 Subject: Resource fetcher: Optimise HTTP header generation. --- content/fetchers/resource.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'content/fetchers/resource.c') diff --git a/content/fetchers/resource.c b/content/fetchers/resource.c index c7cf0224e..9b3f28ce5 100644 --- a/content/fetchers/resource.c +++ b/content/fetchers/resource.c @@ -122,19 +122,21 @@ static bool fetch_resource_send_header(struct fetch_resource_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_resource_send_callback(&msg, ctx); + msg.data.header_or_data.len = len; - return ctx->aborted; + return fetch_resource_send_callback(&msg, ctx); } -- cgit v1.2.3