systemd-stable v246.11
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEXCUbX8VOsvgPQHqqxUyjNs/rVX4FAmBLpnoACgkQxUyjNs/r
VX6Ljg/+M8ik25SWqyUBNKRPkZ8FAdVgvjnV7X2H7zNnpauOjyUStNMneAoEy46V
jKXQGYVTTY+Mei3k2fbUVzE2MEXxd70+JZXDN5MFbuSwzxfloYu1vE9M1PH1RvmB
JVuzuyh84Bt4yubs0opkUU/84WPGjRYempcN5wSyDVdQ2jSGAtK9TdzFPQauwH6Y
M/jL96WBzgFcmXRIrJZWOMgG+Ub6Y2GgaFiVo+fSGZzEpHhDmgqx3zTmTf8PE4yh
VS0FjaHQ8XXcR2vJWFGk+MoPbn3EsGdDEsYnPE/7IbZ1zeqHRPSS5iffV+z4wgyR
Q2zyww+Nx/9E2Cigvc2HEUfGbSXm+vBYwZ6wWRTpSXdxXNV5qZxYbB95REbkkqiQ
AAtrA91TKNm5dvqRBwRJkTrnEodyjy1yjvOfkUaovDCPl4fdgvrQgZwDUA+UT/15
VrXurRPZAF4+DqETPHvhF22gsIZ5O/qG2hTvjyI7OwA0D/dDz4fQUmNY3z0OOOTb
9Q47uhB0vFKx9egZZRVEQGEG5GJMm7w9hKBLDTzvtGF/Mx5IJLpIzESCe5w0Jn+H
oEPIUhvKVNnhQGoqmj+rgJx/x0JsfgmYH0N4rwuYGAR6uvxawruYj0+nF4EKjgQ6
0L+DLIqaKaZXjBNDJT5+EgC5mOQMi8R2CIjNJxTXnb7Quza5MUQ=
=vu63
-----END PGP SIGNATURE-----
ask-password-api: fix error handling on invalid unicode character

The integer overflow happens when utf8_encoded_valid_unichar() returns an error
code. The error code is a negative number: -22. This overflows when it is
assigned to `z` (type `size_t`). This can cause an infinite loop if the value
of `q` is 22 or larger.

To reproduce the bug, you need to run `systemd-ask-password` and enter an
invalid unicode character, followed by a backspace character.

GHSL-2021-052

(cherry picked from commit 37ca78a35cd1b9f13e584ccf3d332413c7875e40)
(cherry picked from commit 069525e84a67375e27429cb490e8d28af78e673a)
1 file changed
tree: 8f4d3f6ca1dc832595df978589851e90c464fe6d
  1. .clang-format
  2. .ctags
  3. .dir-locals.el
  4. .editorconfig
  5. .gitattributes
  6. .github/
  7. .gitignore
  8. .lgtm.yml
  9. .lgtm/cpp-queries/
  10. .mailmap
  11. .mkosi/
  12. .travis.yml
  13. .vimrc
  14. .ycm_extra_conf.py
  15. LICENSE.GPL2
  16. LICENSE.LGPL2.1
  17. Makefile
  18. NEWS
  19. README
  20. README.md
  21. TODO
  22. azure-pipelines.yml
  23. catalog/
  24. coccinelle/
  25. configure
  26. docs/
  27. factory/etc/
  28. hwdb.d/
  29. man/
  30. meson.build
  31. meson_options.txt
  32. mkosi.build
  33. modprobe.d/
  34. network/
  35. po/
  36. presets/
  37. rules.d/
  38. semaphoreci/
  39. shell-completion/
  40. src/
  41. sysctl.d/
  42. sysusers.d/
  43. test/
  44. tmpfiles.d/
  45. tools/
  46. travis-ci/
  47. units/
  48. xorg/
  49. zanata.xml
README.md

Systemd

System and Service Manager

Semaphore CI Build Status
Coverity Scan Status
OSS-Fuzz Status
CIFuzz
CII Best Practices
Travis CI Build Status
Language Grade: C/C++
CentOS CI Build Status
Build Status
Fossies codespell report Packaging status

Details

Most documentation is available on systemd's web site.

Assorted, older, general information about systemd can be found in the systemd Wiki.

Information about build requirements is provided in the README file.

Consult our NEWS file for information about what's new in the most recent systemd versions.

Please see the Hacking guide for information on how to hack on systemd and test your modifications.

Please see our Contribution Guidelines for more information about filing GitHub Issues and posting GitHub Pull Requests.

When preparing patches for systemd, please follow our Coding Style Guidelines.

If you are looking for support, please contact our mailing list or join our IRC channel.

Stable branches with backported patches are available in the stable repo.