quark

quark web server
git clone git://git.suckless.org/quark
Log | Files | Refs | LICENSE

commit 444b8f5b32d0263f1a20e18eb3044bfeed334361
parent ed8b7e8954d302f73907f1cc302d124443f947aa
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
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:
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_LARGE); } + memcpy(realtarget, tmptarget, sizeof(realtarget)); } }