This crashes in src/libsystemd/sd-device/sd-device.c,
device_properties_prepare():

                char *tags = NULL;
                while ((tag = sd_device_get_tag_next(device)))
                        tags = strjoina(tags, ":", tag);

strjoina() (which essentially is alloca() with some automatic size
determination) is very efficient with a few tags, but it has an
undefined upper bound and undefined behaviour on stack overflow, i. e.
there is no way to find out when it failed.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1564976

Title:
  systemd-udevd crashed with SIGSEGV with rules file appending large
  number of tags

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1564976/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to