fix uninitialized memory in the reverse proxy

Sat, 07 Mar 2026 23:00:19 +0100

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Sat, 07 Mar 2026 23:00:19 +0100
changeset 722
12fb6b33418c
parent 721
482f4c153636
child 723
2b7291e40688

fix uninitialized memory in the reverse proxy

src/server/proxy/httpclient.c file | annotate | diff | comparison | revisions
src/server/safs/proxy.c file | annotate | diff | comparison | revisions
--- a/src/server/proxy/httpclient.c	Sat Mar 07 16:05:41 2026 +0100
+++ b/src/server/proxy/httpclient.c	Sat Mar 07 23:00:19 2026 +0100
@@ -514,7 +514,7 @@
     return client->transfer_buffer_pos < client->transfer_buffer_len;
 }
 
-static int client_send_request_body(HttpClient *client) {
+static int client_send_request_body(HttpClient *client) { 
     size_t rbody_readsize = client->transfer_buffer_alloc;
     size_t rbody_buf_offset = 0;
     if(client->req_content_length == -1) {
--- a/src/server/safs/proxy.c	Sat Mar 07 16:05:41 2026 +0100
+++ b/src/server/safs/proxy.c	Sat Mar 07 23:00:19 2026 +0100
@@ -403,6 +403,10 @@
     pblock_removekey(pb_key_content_type, rq->srvhdrs);
     
     ProxyRequest *proxy = malloc(sizeof(ProxyRequest));
+    if(!proxy) {
+        return REQ_ABORTED;
+    }
+    memset(proxy, 0, sizeof(ProxyRequest));
     proxy->sn = sn;
     proxy->rq = rq;
     proxy->request_header_rewrite = pblock_create_pool(sn->pool, 16);

mercurial