http_send_response: fix undefined behaviour for copying the target string - qua… | |
git clone git://git.suckless.org/quark | |
Log | |
Files | |
Refs | |
LICENSE | |
--- | |
commit 444b8f5b32d0263f1a20e18eb3044bfeed334361 | |
parent ed8b7e8954d302f73907f1cc302d124443f947aa | |
Author: Hiltjo Posthuma <[email protected]> | |
Date: Mon, 5 Mar 2018 01:12:09 +0100 | |
http_send_response: fix undefined behaviour for copying the target string | |
... the format string and buffer were the same (undefined behaviour). | |
Diffstat: | |
M http.c | 3 ++- | |
1 file changed, 2 insertions(+), 1 deletion(-) | |
--- | |
diff --git a/http.c b/http.c | |
@@ -346,10 +346,11 @@ http_send_response(int fd, struct request *r) | |
/* if we have a vhost prefix, prepend it to the target */ | |
if (s.vhost[i].prefix) { | |
- if (esnprintf(realtarget, sizeof(realtarget), "%s%s", | |
+ if (esnprintf(tmptarget, sizeof(tmptarget), "%s%s", | |
s.vhost[i].prefix, realtarget)) { | |
return http_send_status(fd, S_REQUEST_TOO_LARG… | |
} | |
+ memcpy(realtarget, tmptarget, sizeof(realtarget)); | |
} | |
} | |