File tree Expand file tree Collapse file tree 1 file changed +8
-2
lines changed Expand file tree Collapse file tree 1 file changed +8
-2
lines changed Original file line number Diff line number Diff line change @@ -1339,7 +1339,7 @@ static void dhcp_netid_free(struct dhcp_netid *nid)
1339
1339
1340
1340
/* Parse one or more tag:s before parameters.
1341
1341
* Moves arg to the end of tags. */
1342
- static struct dhcp_netid * dhcp_tags (char * * arg )
1342
+ static struct dhcp_netid * dhcp_tags (char * * arg )
1343
1343
{
1344
1344
struct dhcp_netid * id = NULL ;
1345
1345
@@ -1363,7 +1363,13 @@ static void dhcp_netid_list_free(struct dhcp_netid_list *netid)
1363
1363
{
1364
1364
struct dhcp_netid_list * tmplist = netid ;
1365
1365
netid = netid -> next ;
1366
- dhcp_netid_free (tmplist -> list );
1366
+ /* Note: don't use dhcp_netid_free() here, since that
1367
+ frees a list linked on netid->next. Where a netid_list
1368
+ is used that's because the the ->next pointers in the
1369
+ netids are being used to temporarily construct
1370
+ a list of valid tags. */
1371
+ free (tmplist -> list -> net );
1372
+ free (tmplist -> list );
1367
1373
free (tmplist );
1368
1374
}
1369
1375
}
You can’t perform that action at this time.
0 commit comments