From 31077de8692d48b50a2f7ba12377677e60dc025e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BA=90=E6=96=87=E9=9B=A8?= <41315874+fumiama@users.noreply.github.com> Date: Fri, 13 Aug 2021 22:25:02 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=9D=E8=AF=95=E4=BF=AE=E5=A4=8D=E5=86=85?= =?UTF-8?q?=E5=AD=98=E6=B3=84=E6=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/server.c b/server.c index c38f015..56ad23b 100644 --- a/server.c +++ b/server.c @@ -121,15 +121,15 @@ static void accept_request(void *cli) { not_found(client); } else { int pathlen = strlen(path) + 1; - char* path_heap = malloc(pathlen + 11); // 11 is for possible /index.html + char path_heap[pathlen + 11]; // 11 is for possible /index.html memcpy(path_heap, path, pathlen); printf("<%d> ", pathlen); path = path_heap; - char* query_heap = query_string; - int query_length = strlen(query_heap) + 1; - query_string = malloc(query_length); - memcpy(query_string, query_heap, query_length); + int query_length = strlen(query_string) + 1; + char query_string_stack[query_length]; + memcpy(query_string_stack, query_string, query_length); + query_string = query_string_stack; printf("(%d) ", query_length); if((st.st_mode & S_IFMT) == S_IFDIR) { @@ -160,7 +160,6 @@ static void accept_request(void *cli) { request.query_string = query_string; execute_cgi(client, content_length, &request); } - free(path); free(query_string); } close(client); }