Systemd/src/network/netdev
Lennart Poettering f3c33b234d networkd: fix memory corruption
When loading .netdev files we parse them twice: first we do one parsing
iteration to figure out their "kind", and then we do it again to parse
out the kind's parameters. The first iteration is run with a "short"
NetDev structure, that only covers the generic NetDev properties. Which
should be enough, as we don't parse the per-kind properties. However,
before this patch we'd still try to destruct the per-kind properties
which resulted in memory corruption. With this change we distuingish the
two iterations by the state field, so that the destruction only happens
when the state signals we are running with a full NetDev structure.

Since this is not obvious, let's add a lot of comments.
2018-01-05 13:59:12 +01:00
..
bond.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
bond.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
bridge.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
bridge.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
dummy.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
dummy.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
geneve.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
geneve.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
ipvlan.c networkd: Add support for ipvlan L3s and flags (#7726) 2017-12-23 18:55:03 +01:00
ipvlan.h networkd: Add support for ipvlan L3s and flags (#7726) 2017-12-23 18:55:03 +01:00
macvlan.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
macvlan.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
netdev-gperf.gperf networkd: Tunnel allows tunnel traffic on ip6tnl devices (#7756) 2017-12-29 23:19:21 +09:00
netdev.c networkd: fix memory corruption 2018-01-05 13:59:12 +01:00
netdev.h networkd: fix memory corruption 2018-01-05 13:59:12 +01:00
tunnel.c networkd: Tunnel allows tunnel traffic on ip6tnl devices (#7756) 2017-12-29 23:19:21 +09:00
tunnel.h networkd: Tunnel allows tunnel traffic on ip6tnl devices (#7756) 2017-12-29 23:19:21 +09:00
tuntap.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
tuntap.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
vcan.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
vcan.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
veth.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
veth.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
vlan.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
vlan.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
vrf.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
vrf.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
vxcan.c networkd: introduce vxcan netdev. (#7150) 2017-11-22 08:23:22 +01:00
vxcan.h networkd: introduce vxcan netdev. (#7150) 2017-11-22 08:23:22 +01:00
vxlan.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
vxlan.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00