From 7b91343ca7188bc09eb72970dd2b7cd8a6f10631 Mon Sep 17 00:00:00 2001 From: David Cermak Date: Tue, 26 Oct 2021 08:19:09 +0200 Subject: [PATCH] lwip: Fix ping socket create to allow for fd=0 0 is a valid socket description, so should be accepted after we create a socket. In IDF, though, it's just a theoretical issue, as customers have to configure: * FD_SETSIZE = CONFIG_LWIP_MAX_SOCKETS (from makefiles) * CONFIG_VFS_SUPPORT_IO = n (from menuconfig) (this configuration is currently broken, but if we adjust the IDF here and there we could reproduce the issue) --- components/lwip/apps/ping/ping_sock.c | 20 ++++++-------------- tools/ci/check_copyright_ignore.txt | 1 - 2 files changed, 6 insertions(+), 15 deletions(-) diff --git a/components/lwip/apps/ping/ping_sock.c b/components/lwip/apps/ping/ping_sock.c index c082b8cff3..31c7cad8e0 100644 --- a/components/lwip/apps/ping/ping_sock.c +++ b/components/lwip/apps/ping/ping_sock.c @@ -1,16 +1,8 @@ -// Copyright 2019 Espressif Systems (Shanghai) PTE LTD -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. +/* + * SPDX-FileCopyrightText: 2019-2021 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ #include #include @@ -267,7 +259,7 @@ esp_err_t esp_ping_new_session(const esp_ping_config_t *config, const esp_ping_c ep->sock = socket(AF_INET6, SOCK_RAW, IP6_NEXTH_ICMP6); } #endif - PING_CHECK(ep->sock > 0, "create socket failed: %d", err, ESP_FAIL, ep->sock); + PING_CHECK(ep->sock >= 0, "create socket failed: %d", err, ESP_FAIL, ep->sock); /* set if index */ if(config->interface) { struct ifreq iface; diff --git a/tools/ci/check_copyright_ignore.txt b/tools/ci/check_copyright_ignore.txt index 5f2d1ef41a..7680865f8d 100644 --- a/tools/ci/check_copyright_ignore.txt +++ b/tools/ci/check_copyright_ignore.txt @@ -1686,7 +1686,6 @@ components/log/log_linux.c components/lwip/apps/dhcpserver/dhcpserver.c components/lwip/apps/ping/esp_ping.c components/lwip/apps/ping/ping.c -components/lwip/apps/ping/ping_sock.c components/lwip/apps/sntp/sntp.c components/lwip/include/apps/dhcpserver/dhcpserver.h components/lwip/include/apps/dhcpserver/dhcpserver_options.h