Find a file
Tobias Stoeckmann 51b73ac0ac Protect against overly long strings
Checking against upper limit of USHRT_MAX must happen before truncating
size_t to int. On 64 bit systems with strings larger than 2 GB this
could otherwise lead to negative ints or ints smaller than USHRT_MAX.

In XParseColor this could lead to out of boundary access with strings
starting with a # (color sequence). A modulo 12 operation is performed
to validate the string length, but with an overflown length, the for
loop would eventually read behind terminating '\0' character.

Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
2021-05-31 18:39:15 +02:00
include Xlib.h: spelling fix in comment 2021-05-03 19:08:03 +00:00
m4 Use __builtin_popcountl if available to replace Ones() in GetImage.c 2020-09-28 16:16:07 -07:00
man fix same roff code 2020-11-28 21:05:33 +01:00
modules Don't leave dangling pointers in Free functions 2020-11-18 14:27:59 -08:00
nls nls: adjust three comments about the APL compose sequences 2021-01-12 00:32:09 +00:00
specs Fix spelling/wording issues 2020-07-22 15:19:58 -07:00
src Protect against overly long strings 2021-05-31 18:39:15 +02:00
.gitignore Ignore test-driver (used by newer autoconf). 2015-07-19 23:01:05 +02:00
.gitlab-ci.yml gitlab CI: add a basic build test 2020-11-16 23:28:15 +00:00
AUTHORS libX11 1.5.0 2012-06-01 23:37:09 -07:00
autogen.sh autogen: add default patch prefix 2017-01-26 13:52:49 +10:00
configure.ac Version 1.7.1 2021-05-18 15:27:58 +02:00
COPYING Bug 19379 - Provide docs with overview of all compose key combinations 2010-09-21 18:22:21 -07:00
cpprules.in cpprules.in: squash whitespace in generated files 2020-10-10 21:35:04 +00:00
docbook.am docbook.am: embed css styles inside the HTML HEAD element 2011-12-30 17:08:14 -05:00
Makefile.am Update README for gitlab migration 2018-11-19 21:26:23 -08:00
NEWS Move security fixes to the top of NEWS, and fix spacing. 2007-06-03 21:41:47 -07:00
README.md Version 1.7.1 2021-05-18 15:27:58 +02:00
x11-xcb.pc.in Split public Xlib/XCB functions into libX11-xcb 2006-10-05 17:44:22 -07:00
x11.pc.in Bug 15664: xau & xdmcp not needed in x11.pc dependencies when built with xcb 2009-03-12 17:11:42 -07:00

libX11 - Core X11 protocol client library

Documentation for this library can be found in the included man pages, and in the Xlib spec from the specs subdirectory, also available at:

and the O'Reilly Xlib books, which they have made freely available online, though only for older versions of X11:

All questions regarding this software should be directed at the Xorg mailing list:

https://lists.x.org/mailman/listinfo/xorg

The primary development code repository can be found at:

https://gitlab.freedesktop.org/xorg/lib/libX11

Please submit bug reports and requests to merge patches there.

For patch submission instructions, see:

https://www.x.org/wiki/Development/Documentation/SubmittingPatches

Release 1.7.1

This is a bug fix release, including a security fix for CVE-2021-31535, nls and documentation corrections.

  • Reject string longer than USHRT_MAX before sending them on the wire
  • Fix out-of-bound access in KeySymToUcs4()
  • nls: allow composing all breved letters also with a lowercase "u"
  • nls: add 'C.utf8' as an alias for 'en_US.UTF-8'
  • Nroff code fixes
  • Comments fixes

Release 1.7.0

Version 1.7.0 includes a new API, hence the change from the 1.6 series to 1.7:

  • XSetIOErrorExitHandler which provides a mechanism for applications to recover from I/O error conditions instead of being forced to exit. Thanks to Carlos Garnacho for this.

This release includes a bunch of bug fixes, some which have been pending for over three years:

  • A bunch of nls cleanups to remove obsolete entries and clean up formatting of the ist. Thanks to Benno Schulenberg for these.

  • Warning fixes and other cleanups across a huge swath of the library. Thanks to Alan Coopersmith for these.

  • Memory allocation bugs, including leaks and use after free in the locale code. Thanks to Krzesimir Nowak, Jacek Caban and Vittorio Zecca for these.

  • Thread safety fixes in the locale code. Thanks to Jacek Caban for these.

  • poll_for_response race condition fix. Thanks to Frediano Ziglio for the bulk of this effort, and to Peter Hutterer for careful review and improvements.

Version 1.7.0 includes a couple of new locales:

  • ia and ie locales. Thanks to Carmina16 for these.

There are also numerous compose entries added, including:

  • |^ or ^| for ↑, |v or v| for ↓, ~~ for ≈. Thanks to Antti Savolainen for this.

  • Allowing use of 'v' for caron, in addition to 'c', so things like vC for Č, vc for č. Thanks to Benno Schulenberg for this.

  • Compose sequences LT, lt for '<', and GT, gt for '>' for keyboards where those are difficult to access. Thanks to Jonathan Belsewir for this.