This repository has been archived on 2023-08-11. You can view files and clone it, but cannot push or open issues or pull requests.
magras a8cb8e9454 fix use after free in font caching algorithm
Current font caching algorithm contains a use after free error. A font
removed from `frc` might be still listed in `wx.specbuf`. It will lead
to a crash inside `XftDrawGlyphFontSpec()`.

Steps to reproduce:
$ st -f 'Misc Tamsyn:scalable=false'
$ curl https://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-demo.txt

Of course, result depends on fonts installed on a system and fontconfig.
In my case, I'm getting consistent segfaults with different fonts.

I replaced a fixed array with a simple unbounded buffer with a constant
growth rate. Cache starts with a capacity of 0, gets increments by 16,
and never shrinks. On my machine after `cat UTF-8-demo.txt` buffer
reaches a capacity of 192. During casual use capacity stays at 0.
2019-03-03 11:18:31 +01:00
2018-03-20 21:22:27 +01:00
2019-02-09 12:48:39 +01:00
FAQ
2017-12-21 19:17:40 +01:00
2012-09-18 19:08:03 +02:00
2018-03-14 20:08:00 +01:00
2018-09-11 19:05:55 +02:00
2019-02-12 18:45:15 +01:00
2018-09-11 19:05:55 +02:00
2015-04-13 17:06:11 +02:00
2019-02-12 18:45:15 +01:00

st - simple terminal
--------------------
st is a simple terminal emulator for X which sucks less.


Requirements
------------
In order to build st you need the Xlib header files.


Installation
------------
Edit config.mk to match your local setup (st is installed into
the /usr/local namespace by default).

Afterwards enter the following command to build and install st (if
necessary as root):

    make clean install


Running st
----------
If you did not install st with make clean install, you must compile
the st terminfo entry with the following command:

    tic -sx st.info

See the man page for additional details.

Credits
-------
Based on Aurélien APTEL <aurelien dot aptel at gmail dot com> bt source code.

Description
Personal build of st
Readme 2 MiB
Languages
C 95.7%
Roff 2.7%
Makefile 1.6%