Merge branch 'bugfix/fix_dhcp_pool_issue_on_dhcp_server_v5.0' into 'release/v5.0'

fix(lwip): fixed the dhcp pool error on dhcp server (v5.0)

See merge request espressif/esp-idf!31265
This commit is contained in:
Jiang Jiang Jian
2024-06-04 11:46:17 +08:00

View File

@ -1,5 +1,5 @@
/* /*
* SPDX-FileCopyrightText: 2015-2023 Espressif Systems (Shanghai) CO LTD * SPDX-FileCopyrightText: 2015-2024 Espressif Systems (Shanghai) CO LTD
* *
* SPDX-License-Identifier: Apache-2.0 * SPDX-License-Identifier: Apache-2.0
*/ */
@ -1331,7 +1331,7 @@ static void kill_oldest_dhcps_pool(dhcps_t *dhcps)
assert(pre != NULL && pre->pnext != NULL); // Expect the list to have at least 2 nodes assert(pre != NULL && pre->pnext != NULL); // Expect the list to have at least 2 nodes
p = pre->pnext; p = pre->pnext;
minpre = pre; minpre = pre;
minp = p; minp = pre;
while (p != NULL) { while (p != NULL) {
pdhcps_pool = p->pnode; pdhcps_pool = p->pnode;
@ -1345,8 +1345,11 @@ static void kill_oldest_dhcps_pool(dhcps_t *dhcps)
pre = p; pre = p;
p = p->pnext; p = p->pnext;
} }
if (minp == dhcps->plist) {
minpre->pnext = minp->pnext; dhcps->plist = minp->pnext;
} else {
minpre->pnext = minp->pnext;
}
free(minp->pnode); free(minp->pnode);
minp->pnode = NULL; minp->pnode = NULL;
free(minp); free(minp);