NetworkManager/libnm
Thomas Haller b012877445
libnm: add warning for bindings about broken functions for transferred GPtrArray
In commit 201c153e25 ('libnm: fix GObject Introspection annotations
for functions returning a GPtrArray') these annotations were changed
to fix Vala bindings. However, bindings may treat the transfer
annotation for GPtrArray differently, so depending on the binding
we either get a leak or a double free.

It's unclear how to fix that. For now, just add a warning to the
documentation to avoid it.

The following reproducer leads to a crash:

    #!/bin/python

    import gi

    gi.require_version("NM", "1.0")
    from gi.repository import NM

    def _pr(msg):
        NM.utils_print(0, msg + "\n")

    def process(nmc):
        for device in nmc.get_devices():
            cons = device.filter_connections(nmc.get_connections())
            _pr(
                "device %s (%s) has %s compatible connections"
                % (device.get_iface(), NM.Object.get_path(device), len(cons))
            )

    process(NM.Client.new())

See-also: https://gitlab.gnome.org/GNOME/gobject-introspection/-/issues/305
2020-12-09 17:50:22 +01:00
..
nm-libnm-aux all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
tests libnm/tests: add unit test for more consistency check of NMObject type information 2020-11-18 11:41:26 +01:00
libnm.pc.in libnm,pkg-config: provide a variable with VPN service directory 2015-08-19 15:13:11 +02:00
libnm.ver veth: add support to configure veth interfaces 2020-11-27 10:12:36 +01:00
meson.build veth: add support to configure veth interfaces 2020-11-27 10:12:36 +01:00
NetworkManager.h veth: add support to configure veth interfaces 2020-11-27 10:12:36 +01:00
nm-access-point.c libnm: add warning for bindings about broken functions for transferred GPtrArray 2020-12-09 17:50:22 +01:00
nm-access-point.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-active-connection.c libnm/trivial: rename enums NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_* 2020-11-18 10:21:57 +01:00
nm-active-connection.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-autoptr.h veth: add support to configure veth interfaces 2020-11-27 10:12:36 +01:00
nm-checkpoint.c libnm/trivial: rename enums NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_* 2020-11-18 10:21:57 +01:00
nm-checkpoint.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-client.c libnm: fix re-entrancy of NMClient.dispose() for _init_release_all() 2020-12-08 15:41:52 +01:00
nm-client.h libnm: add nm_utils_print() function 2020-11-09 17:25:25 +01:00
nm-dbus-helpers.c all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-dbus-helpers.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-device-6lowpan.c libnm/trivial: rename enums NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_* 2020-11-18 10:21:57 +01:00
nm-device-6lowpan.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-device-adsl.c libnm/trivial: rename enums NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_* 2020-11-18 10:21:57 +01:00
nm-device-adsl.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-device-bond.c libnm/trivial: rename enums NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_* 2020-11-18 10:21:57 +01:00
nm-device-bond.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-device-bridge.c libnm/trivial: rename enums NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_* 2020-11-18 10:21:57 +01:00
nm-device-bridge.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-device-bt.c libnm/trivial: rename enums NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_* 2020-11-18 10:21:57 +01:00
nm-device-bt.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-device-dummy.c libnm/trivial: rename enums NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_* 2020-11-18 10:21:57 +01:00
nm-device-dummy.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-device-ethernet.c veth: add support to configure veth interfaces 2020-11-27 10:12:36 +01:00
nm-device-ethernet.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-device-generic.c libnm/trivial: rename enums NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_* 2020-11-18 10:21:57 +01:00
nm-device-generic.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-device-infiniband.c libnm/trivial: rename enums NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_* 2020-11-18 10:21:57 +01:00
nm-device-infiniband.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-device-ip-tunnel.c libnm/trivial: rename enums NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_* 2020-11-18 10:21:57 +01:00
nm-device-ip-tunnel.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-device-macsec.c libnm/trivial: rename enums NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_* 2020-11-18 10:21:57 +01:00
nm-device-macsec.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-device-macvlan.c libnm/trivial: rename enums NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_* 2020-11-18 10:21:57 +01:00
nm-device-macvlan.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-device-modem.c libnm/trivial: rename enums NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_* 2020-11-18 10:21:57 +01:00
nm-device-modem.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-device-olpc-mesh.c libnm/trivial: rename enums NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_* 2020-11-18 10:21:57 +01:00
nm-device-olpc-mesh.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-device-ovs-bridge.c libnm/trivial: rename enums NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_* 2020-11-18 10:21:57 +01:00
nm-device-ovs-bridge.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-device-ovs-interface.c libnm/trivial: rename enums NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_* 2020-11-18 10:21:57 +01:00
nm-device-ovs-interface.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-device-ovs-port.c libnm/trivial: rename enums NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_* 2020-11-18 10:21:57 +01:00
nm-device-ovs-port.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-device-ppp.c libnm/trivial: rename enums NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_* 2020-11-18 10:21:57 +01:00
nm-device-ppp.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-device-private.h libnm: use the o.fd.DBus.ObjectManager API for object management 2016-11-10 16:48:48 +01:00
nm-device-team.c libnm/trivial: rename enums NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_* 2020-11-18 10:21:57 +01:00
nm-device-team.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-device-tun.c libnm/trivial: rename enums NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_* 2020-11-18 10:21:57 +01:00
nm-device-tun.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-device-veth.c veth: peer property is D-Bus object path not a string 2020-12-01 16:45:36 +01:00
nm-device-veth.h veth: peer property is D-Bus object path not a string 2020-12-01 16:45:36 +01:00
nm-device-vlan.c libnm/trivial: rename enums NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_* 2020-11-18 10:21:57 +01:00
nm-device-vlan.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-device-vrf.c libnm/trivial: rename enums NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_* 2020-11-18 10:21:57 +01:00
nm-device-vrf.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-device-vxlan.c libnm/trivial: rename enums NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_* 2020-11-18 10:21:57 +01:00
nm-device-vxlan.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-device-wifi-p2p.c libnm/trivial: rename enums NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_* 2020-11-18 10:21:57 +01:00
nm-device-wifi-p2p.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-device-wifi.c libnm/trivial: rename enums NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_* 2020-11-18 10:21:57 +01:00
nm-device-wifi.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-device-wimax.c all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-device-wimax.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-device-wireguard.c libnm/trivial: rename enums NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_* 2020-11-18 10:21:57 +01:00
nm-device-wireguard.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-device-wpan.c libnm/trivial: rename enums NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_* 2020-11-18 10:21:57 +01:00
nm-device-wpan.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-device.c libnm: add warning for bindings about broken functions for transferred GPtrArray 2020-12-09 17:50:22 +01:00
nm-device.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-dhcp-config.c libnm/trivial: rename enums NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_* 2020-11-18 10:21:57 +01:00
nm-dhcp-config.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-dhcp4-config.c all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-dhcp4-config.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-dhcp6-config.c all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-dhcp6-config.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-dns-manager.c all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-dns-manager.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-enum-types.c.template build: use template files for enum types' sources generation 2017-12-18 11:25:06 +01:00
nm-enum-types.h.template build: use template files for enum types' sources generation 2017-12-18 11:25:06 +01:00
nm-ip-config.c libnm/trivial: rename enums NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_* 2020-11-18 10:21:57 +01:00
nm-ip-config.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-ip4-config.c all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-ip4-config.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-ip6-config.c all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-ip6-config.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-libnm-utils.c libnm: add nm_utils_print() function 2020-11-09 17:25:25 +01:00
nm-libnm-utils.h ethernet: define NMDeviceEthernet on nm-libnm-utils.h 2020-11-27 10:12:36 +01:00
nm-object-private.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-object.c libnm: add debug logging for creating/destroying NMObject 2020-12-07 22:15:46 +01:00
nm-object.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-remote-connection-private.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-remote-connection.c libnm/trivial: rename enums NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_* 2020-11-18 10:21:57 +01:00
nm-remote-connection.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-secret-agent-old.c all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-secret-agent-old.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-types.h veth: add support to configure veth interfaces 2020-11-27 10:12:36 +01:00
nm-vpn-connection.c libnm/trivial: rename enums NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_* 2020-11-18 10:21:57 +01:00
nm-vpn-connection.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-vpn-editor.c all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-vpn-editor.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-vpn-plugin-old.c all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-vpn-plugin-old.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-vpn-service-plugin.c all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-vpn-service-plugin.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-wifi-p2p-peer.c libnm/trivial: rename enums NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_* 2020-11-18 10:21:57 +01:00
nm-wifi-p2p-peer.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-wimax-nsp.c all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-wimax-nsp.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00