my fork of suckless' dmenu
Go to file
NRK 689d9bfcf6 fix leak when getline fails
according to the getline(3) documentation, the calling code needs to
free the buffer even if getline fails.

dmenu currently doesn't do that which results in a small leak in case of
failure (e.g when piped /dev/null)

	$ ./dmenu < /dev/null
	==8201==ERROR: LeakSanitizer: detected memory leaks
	Direct leak of 120 byte(s) in 1 object(s) allocated from:
	    #0 0x7f6bf5785ef7 in malloc
	    #1 0x7f6bf538ec84 in __getdelim
	    #2 0x405d0c in readstdin dmenu.c:557

moving `line = NULL` inside the loop body wasn't strictly necessary, but
IMO it makes it more apparent that `line` is getting cleared to NULL
after each successful iteration.
2022-10-31 11:40:35 +01:00
LICENSE bump version to 5.1 2022-02-11 12:26:35 +01:00
Makefile Makefile: just show the compiler output 2018-06-02 17:09:01 +02:00
README removed libdc dependence 2010-11-11 23:56:39 +00:00
arg.h arg.h: fixed argv checks order 2016-02-23 00:31:03 +01:00
config.def.h config.def.h: style improvement, use color Scheme enum 2016-06-28 17:56:25 +02:00
config.mk bump version to 5.2 2022-10-04 19:36:02 +02:00
dmenu.1 dmenu.1: document improved fastgrab behaviour from previous patch 2019-01-27 15:28:02 +01:00
dmenu.c fix leak when getline fails 2022-10-31 11:40:35 +01:00
dmenu_path make dmenu_path script executable 2019-02-12 22:13:58 +01:00
dmenu_run dmenu_run: Split cache logic to dmenu_path again 2012-07-30 17:02:12 +02:00
drw.c remove workaround for a crash with color emojis on some systems, now fixed in libXft 2.3.5 2022-09-17 15:32:26 +02:00
drw.h introduce drw_fontset_getwidth_clamp() 2022-03-25 22:49:07 +01:00
stest.1 applied Martin Kühl's inverse matching flag to stest 2013-08-13 19:15:04 +02:00
stest.c remove always true condition in if statement 2021-07-25 10:55:45 +02:00
util.c sync code-style patch from libsl 2022-08-08 10:42:54 +02:00
util.h import new drw from libsl and minor fixes. 2016-06-03 19:13:15 +02:00

README

dmenu - dynamic menu
====================
dmenu is an efficient dynamic menu for X.


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


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

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

    make clean install


Running dmenu
-------------
See the man page for details.