diff --git a/components/esp_http_client/lib/http_header.c b/components/esp_http_client/lib/http_header.c index f76309e78d..578eb788e1 100644 --- a/components/esp_http_client/lib/http_header.c +++ b/components/esp_http_client/lib/http_header.c @@ -159,9 +159,6 @@ int http_header_set_format(http_header_handle_t header, const char *key, const c len = vasprintf(&buf, format, argptr); va_end(argptr); ESP_RETURN_ON_FALSE(buf, 0, TAG, "Memory exhausted"); - if (buf == NULL) { - return 0; - } http_header_set(header, key, buf); free(buf); return len; diff --git a/components/esp_http_server/src/httpd_main.c b/components/esp_http_server/src/httpd_main.c index 7437430419..64ee395b0f 100644 --- a/components/esp_http_server/src/httpd_main.c +++ b/components/esp_http_server/src/httpd_main.c @@ -55,12 +55,16 @@ static esp_err_t httpd_accept_conn(struct httpd_data *hd, int listen_fd) /* Set recv timeout of this fd as per config */ tv.tv_sec = hd->config.recv_wait_timeout; tv.tv_usec = 0; - setsockopt(new_fd, SOL_SOCKET, SO_RCVTIMEO, (const char *)&tv, sizeof(tv)); + if (setsockopt(new_fd, SOL_SOCKET, SO_RCVTIMEO, (const char *)&tv, sizeof(tv)) < 0) { + ESP_LOGW(TAG, LOG_FMT("error enabling SO_RCVTIMEO (%d)"), errno); + } /* Set send timeout of this fd as per config */ tv.tv_sec = hd->config.send_wait_timeout; tv.tv_usec = 0; - setsockopt(new_fd, SOL_SOCKET, SO_SNDTIMEO, (const char *)&tv, sizeof(tv)); + if (setsockopt(new_fd, SOL_SOCKET, SO_SNDTIMEO, (const char *)&tv, sizeof(tv)) < 0) { + ESP_LOGW(TAG, LOG_FMT("error enabling SO_SNDTIMEO (%d)"), errno); + } if (ESP_OK != httpd_sess_new(hd, new_fd)) { ESP_LOGW(TAG, LOG_FMT("session creation failed")); diff --git a/components/esp_http_server/src/httpd_parse.c b/components/esp_http_server/src/httpd_parse.c index 0979da0632..a22e741c1d 100644 --- a/components/esp_http_server/src/httpd_parse.c +++ b/components/esp_http_server/src/httpd_parse.c @@ -63,8 +63,9 @@ static esp_err_t verify_url (http_parser *parser) const char *at = parser_data->last.at; size_t length = parser_data->last.length; - if ((r->method = parser->method) < 0) { - ESP_LOGW(TAG, LOG_FMT("HTTP Operation not supported")); + r->method = parser->method; + if (r->method < 0) { + ESP_LOGW(TAG, LOG_FMT("HTTP method not supported (%d)"), r->method); parser_data->error = HTTPD_501_METHOD_NOT_IMPLEMENTED; return ESP_FAIL; } @@ -618,8 +619,8 @@ static esp_err_t httpd_parse_req(struct httpd_data *hd) { httpd_req_t *r = &hd->hd_req; int blk_len, offset; - http_parser parser; - parser_data_t parser_data; + http_parser parser = {}; + parser_data_t parser_data = {}; /* Initialize parser */ parse_init(r, &parser, &parser_data); diff --git a/components/esp_http_server/src/httpd_sess.c b/components/esp_http_server/src/httpd_sess.c index 2681ca19f6..329af34183 100644 --- a/components/esp_http_server/src/httpd_sess.c +++ b/components/esp_http_server/src/httpd_sess.c @@ -359,7 +359,9 @@ void httpd_sess_delete(struct httpd_data *hd, struct sock_db *session) .l_onoff = true, .l_linger = hd->config.linger_timeout, }; - setsockopt(session->fd, SOL_SOCKET, SO_LINGER, &so_linger, sizeof(struct linger)); + if (setsockopt(session->fd, SOL_SOCKET, SO_LINGER, &so_linger, sizeof(struct linger)) < 0) { + ESP_LOGW(TAG, LOG_FMT("error enabling SO_LINGER (%d)"), errno); + } } // Call close function if defined