Fix multicast double free issue in IPv4.
- IPv4 had the same problem as v6. Most likely this was an oversight when converting from a C to a C++ module. Might help with #6736 and #8894.
This commit is contained in:
parent
9db38fdf34
commit
ad4d57f14b
@ -163,10 +163,16 @@ struct MulticastStateHash {
|
||||
struct ipv4_protocol : net_protocol {
|
||||
ipv4_protocol()
|
||||
:
|
||||
raw(NULL),
|
||||
multicast_filter(this)
|
||||
{
|
||||
}
|
||||
|
||||
~ipv4_protocol()
|
||||
{
|
||||
delete raw;
|
||||
}
|
||||
|
||||
RawSocket* raw;
|
||||
uint8 service_type;
|
||||
uint8 time_to_live;
|
||||
@ -1029,9 +1035,8 @@ ipv4_uninit_protocol(net_protocol* _protocol)
|
||||
{
|
||||
ipv4_protocol* protocol = (ipv4_protocol*)_protocol;
|
||||
|
||||
delete protocol->raw;
|
||||
delete protocol->multicast_address;
|
||||
delete protocol;
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
|
@ -180,6 +180,7 @@ struct MulticastStateHash {
|
||||
struct ipv6_protocol : net_protocol {
|
||||
ipv6_protocol()
|
||||
:
|
||||
raw(NULL),
|
||||
multicast_filter(this)
|
||||
{
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user