http_send_response: fix undefined behaviour for copying the target string

... the format string and buffer were the same (undefined behaviour).
This commit is contained in:
Hiltjo Posthuma 2018-03-05 01:12:09 +01:00 committed by Laslo Hunhold
parent ed8b7e8954
commit 444b8f5b32

3
http.c
View file

@ -346,10 +346,11 @@ http_send_response(int fd, struct request *r)
/* if we have a vhost prefix, prepend it to the target */ /* if we have a vhost prefix, prepend it to the target */
if (s.vhost[i].prefix) { if (s.vhost[i].prefix) {
if (esnprintf(realtarget, sizeof(realtarget), "%s%s", if (esnprintf(tmptarget, sizeof(tmptarget), "%s%s",
s.vhost[i].prefix, realtarget)) { s.vhost[i].prefix, realtarget)) {
return http_send_status(fd, S_REQUEST_TOO_LARGE); return http_send_status(fd, S_REQUEST_TOO_LARGE);
} }
memcpy(realtarget, tmptarget, sizeof(realtarget));
} }
} }