diff --git a/lib/libwebsockets.c b/lib/libwebsockets.c index 4035121b..ffa5c29f 100644 --- a/lib/libwebsockets.c +++ b/lib/libwebsockets.c @@ -372,7 +372,8 @@ lws_get_addresses(struct lws_context *context, void *ads, char *name, if (addr4.sin_family == AF_UNSPEC) return -1; - lws_plat_inet_ntop(AF_INET, &addr4.sin_addr, rip, rip_len); + if (lws_plat_inet_ntop(AF_INET, &addr4.sin_addr, rip, rip_len) == NULL) + return -1; return 0; #else diff --git a/lib/parsers.c b/lib/parsers.c index a0f19440..1a792c9d 100644 --- a/lib/parsers.c +++ b/lib/parsers.c @@ -322,7 +322,8 @@ int lws_parse(struct lws *wsi, unsigned char c) case URIES_SEEN_PERCENT_H1: if (char_to_hex(c) < 0) { /* regurgitate */ - issue_char(wsi, '%'); + if (issue_char(wsi, '%') < 0) + return -1; wsi->u.hdr.ues = URIES_IDLE; /* regurgitate + assess */ if (lws_parse(wsi, wsi->u.hdr.esc_stash) < 0)