Skip to content

Ignored Hosts from gnome-settings cause segfault for empty entries (,,) or spaces(localhost ,) #299

@SiGa1

Description

@SiGa1

My Qt programm which uses libproxy crashes due to my Ignored Hosts settings in gnome-settings.

#0  __strlen_avx2 () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:76
#1  0x00007ffff53ba101 in ignore_domain (ignore=<optimized out>, uri=0x555555a8c1b0) at ../libproxy/src/backend/px-manager.c:740
#2  px_manager_is_ignore (uri=uri@entry=0x555555a8c1b0, ignores=0x555555afc3e0) at ../libproxy/src/backend/px-manager.c:840
#3  0x00007ffff53ba85b in px_config_gnome_get_config (config=0x5555559e22a0, uri=0x555555a8c1b0, builder=0x555555b10830) at ../libproxy/src/backend/plugins/config-gnome/config-gnome.c:174
#4  0x00007ffff53bb06f in px_manager_get_configuration (self=self@entry=0x555555b0a080 [PxManager], uri=uri@entry=0x555555a8c1b0) at ../libproxy/src/backend/px-manager.c:468
#5  0x00007ffff53bb688 in px_manager_get_proxies_sync (self=0x555555b0a080 [PxManager], url=0x555555adb0d0 "udp://:0") at ../libproxy/src/backend/px-manager.c:663
#6  0x00007ffff775e4d6 in QNetworkProxyFactory::systemProxyForQuery(QNetworkProxyQuery const&) () at /usr/lib/libQt6Network.so.6
#7  0x00007ffff76d8319 in ??? () at /usr/lib/libQt6Network.so.6
#8  0x00007ffff76d8523 in QNetworkProxyFactory::proxyForQuery(QNetworkProxyQuery const&) () at /usr/lib/libQt6Network.so.6
#9  0x00007ffff76d9be5 in ??? () at /usr/lib/libQt6Network.so.6
#10 0x00007ffff76e10a4 in ??? () at /usr/lib/libQt6Network.so.6
#11 0x00007ffff76dff45 in QAbstractSocket::bind(unsigned short, QFlags<QAbstractSocket::BindFlag>) () at /usr/lib/libQt6Network.so.6
...

In frame 1, ignore_domain in px-manager.c:840 is called with an empty string.
And in px-manager.c:740 strlen is called on a nullptr, which causes a segfault.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions