quark

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

commit af61e37a3a282fb78a9f5ae308bb3f56d11d7406
parent d598da3d52413b20cffe2c7f03c885ffdcca2818
Author: Laslo Hunhold <dev@frign.de>
Date:   Sun,  9 Jul 2017 00:11:30 +0200

Check inet_pton() for system error

Diffstat:
quark.c | 6++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/quark.c b/quark.c @@ -590,8 +590,10 @@ sendresponse(int fd, struct request *r) /* RFC 2732 specifies to use brackets for IPv6-addresses in * URLs, so we need to check if our host is one and honor that * later when we fill the "Location"-field */ - ipv6host = inet_pton(AF_INET6, r->field[REQ_HOST][0] ? - r->field[REQ_HOST] : host, &res); + if ((ipv6host = inet_pton(AF_INET6, r->field[REQ_HOST][0] ? + r->field[REQ_HOST] : host, &res)) < 0) { + return sendstatus(fd, S_INTERNAL_SERVER_ERROR); + } /* encode realtarget */ encode(realtarget, tmptarget);