My personal build of Suckless’ sent
Go to file
Chris Down 2649e8d533 Avoid out-of-bounds access when a slide input line begins with \0
If we read in a line with \0 at the beginning, blen will be 0. However,
we then try to index our copy of the buffer with
s->lines[s->linecount][blen-1], we'll read (and potentially write if the
data happens to be 0x0A) outside of strdup's allocated memory, and may
crash.

Fix this by just rejecting lines with a leading \0. Lines with nulls
embedded in other places don't invoke similar behaviour, since the
length is still >0.
2020-05-14 11:43:34 +02:00
.gitignore add stuff 2014-06-23 00:39:21 +02:00
arg.h migrate to new arg.h 2017-09-02 01:24:47 +02:00
config.def.h allow to reload file 2017-09-02 19:30:11 +02:00
config.mk release v1 2017-09-03 23:57:26 +02:00
drw.c improve some more error messages 2016-08-12 14:58:15 +02:00
drw.h import new drw and util from libsl. 2016-05-24 19:28:44 +02:00
example Update example presentation 2016-07-14 12:44:05 +02:00
LICENSE update license 2017-09-07 23:40:26 +02:00
Makefile Add a manpage 2016-08-12 13:20:49 +02:00
nyan.png add png support 2014-06-29 23:43:01 +02:00
README.md README: add Xft to dependencies 2016-10-10 20:51:15 +02:00
sent.1 allow to reload file 2017-09-02 19:30:11 +02:00
sent.c Avoid out-of-bounds access when a slide input line begins with \0 2020-05-14 11:43:34 +02:00
transparent_test.ff Update example presentation 2016-07-14 12:44:05 +02:00
util.c die() on calloc failure 2016-11-04 19:45:08 +01:00
util.h import new drw and util from libsl. 2016-05-24 19:28:44 +02:00

sent is a simple plaintext presentation tool.

sent does not need latex, libreoffice or any other fancy file format, it uses plaintext files to describe the slides and can include images via farbfeld. Every paragraph represents a slide in the presentation.

The presentation is displayed in a simple X11 window. The content of each slide is automatically scaled to fit the window and centered so you also don't have to worry about alignment. Instead you can really concentrate on the content.

Dependencies

You need Xlib and Xft to build sent and the farbfeld[0] tools installed to use images in your presentations.

Demo

To get a little demo, just type

make && ./sent example

You can navigate with the arrow keys and quit with q.

Usage

sent [FILE]

If FILE is omitted or equals -, stdin will be read. Produce image slides by prepending a @ in front of the filename as a single paragraph. Lines starting with # will be ignored. A \ at the beginning of the line escapes @ and #. A presentation file could look like this:

sent

@nyan.png

depends on
- Xlib
- Xft
- farbfeld

sent FILENAME
one slide per paragraph
# This is a comment and will not be part of the presentation
\# This and the next line start with backslashes

\@FILE.png

thanks / questions?

Development

sent is developed at http://tools.suckless.org/sent

0: http://tools.suckless.org/farbfeld/