summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorLines
2017-11-01wallpaper.c: Remove unused variableDaniel Friesel-2/+0
2017-11-01Fix ~/.fehbg not being updated when setting wallpaper via menuDaniel Friesel-44/+25
2017-10-30imlib: Look up CA certificates by $CURL_CA_BUNDLE.Marius Bakke-0/+4
Similar to the `curl` command-line tool.
2017-10-03Always save user-provided commandline in ~/.fehbgDaniel Friesel-41/+7
This fixes --force-aliasing (and possibly other options) missing from the file.
2017-10-03Make shell_escape available as a generic utility functionDaniel Friesel-23/+24
2017-10-02Fix segfault when running slideshow mode with !opt.displayDaniel Friesel-1/+4
Happens e.g. when using -O without enabling thumbnail/index mode Closes #335
2017-09-26Fix dead codeNiclas Zeising-3/+4
The check if buffer == NULL is always false, since buffer is an autoamtic variable allocated when entering the function. What we instead want to do is to check if the string is empty after the call to exif_get_info(), since that means we could not read any exif information. When the code once more is enabled, I discovered that we need to copy the information string into info_buf as well as into buffer, since it is the former that is used to print the exif information on top of the picture. Without this change, imlib warns about trying to write NULL strings.
2017-09-26Remove unused variableNiclas Zeising-4/+0
2017-09-24Replace keybinding struct with an array of named bindingsDaniel Friesel-400/+272
2017-09-16Add toggle_fixed_geometry ("g") keybinding to enable/disable window auto-resizeDaniel Friesel-0/+13
Closes #326
2017-09-16Initialize png comment hash after setjmp() to avoid clobbering itDaniel Friesel-7/+7
2017-09-16Replace legacy signal(...) call with sigaction(...)Daniel Friesel-6/+22
2017-09-13Improve handling of lost terminalsDaniel Friesel-21/+38
When feh loses its controlling terminal at runtime, e.g. due to backgrounding / disowning, it will no longer issue a warning on each terminal keystroke.
2017-09-13Only restore terminal settings if stdin still belongs to us (closes #324)Daniel Friesel-1/+9
2017-09-05Work around ImageMagick bug when converting to file descriptors (#323)Daniel Friesel-4/+12
2017-09-05Remove image from filelist if it was removed by an action (closes #322)Daniel Friesel-0/+3
2017-09-02Respect -N / --no-menus option (broken in 2.17)Daniel Friesel-1/+1
2017-08-31Add support for caption editing to stdin key inputDaniel Friesel-51/+54
2017-08-29Handle detaching the controlling tty from a feh processDaniel Friesel-4/+13
2017-08-27Do not accept control from stdin when running in the backgroundDaniel Friesel-1/+11
2017-08-26Merge pull request #317 from orbea/fallthroughDaniel Friesel-0/+1
Silence -Wimplicit-fallthrough= warning
2017-08-26Merge branch 'pedantic' of https://github.com/orbea/feh into orbea-pedanticDaniel Friesel-1/+35
2017-08-25Silence -Wimplicit-fallthrough= warningorbea-0/+1
2017-08-25(src/Makefile) Manually set the target *.c filesorbea-1/+35
This allows finer control of which files are compiled and additionally will silence some -Wpedantic warnings when "empty" files are compiled.
2017-08-25Silence warningsorbea-2/+2
2017-08-25Disable stdin control in multiwindow modeDaniel Friesel-1/+1
As there's no "default" window, it doesn't make much sense here... Plus, it's buggy as hell in this mode
2017-08-23Add terminal-input support for space and returnDaniel Friesel-3/+8
2017-08-23Put terminal into (mostly) raw mode when reading commands from stdinDaniel Friesel-4/+17
Also, restore the previous terminal mode on exit
2017-08-22Add experimental support for (remote) control via stdinDaniel Friesel-0/+33
2017-08-21Release v2.19.32.19.3Daniel Friesel-1/+1
2017-08-19Make feh abort immediately if an index image could not be created (#306)Daniel Friesel-4/+7
2017-08-19Save --geometry flags in .fehbg if specified (closes #313)Daniel Friesel-2/+16
2017-08-12Release v2.19.22.19.2Daniel Friesel-1/+1
2017-08-10Fix segfault in feh_event_handle_keypress for certain key inputsDaniel Friesel-2/+11
Turns out that it is undefined behaviour to pass a value to isctype functions which does not fit inside a char. Closes #312
2017-08-05Show ImageMagick output on the terminal unless --quiet is specifiedDaniel Friesel-3/+5
(cf #309)
2017-06-19Fix Shift modifier not being recognized for tab, space and similar keysDaniel Friesel-2/+2
Closes #303
2017-04-16Thumbnail generation: Handle HOME-less users (and some other edge cases)Daniel Friesel-2/+12
2017-04-06Fix indentation.Olof-Joachim Frahm-6/+6
2017-04-05Use temporary file to create thumbnail.Olof-Joachim Frahm-6/+18
2017-04-05`sizeof(char)` is defined to be 1.Olof-Joachim Frahm-1/+1
2017-04-05Use XDG_CACHE_HOME for thumbnails.Olof-Joachim Frahm-22/+45
2017-04-02replace _emalloc with emalloc (is the same unless DMALLOC is used)Daniel Friesel-2/+2
2017-04-02Merge pull request #290 from stoeckmann/emallocDaniel Friesel-1/+1
Check malloc return value for NULL.
2017-04-02Merge pull request #289 from stoeckmann/memory-leakDaniel Friesel-0/+2
Fixed memory leak on file name collision.
2017-04-02Merge pull request #288 from stoeckmann/strncpyDaniel Friesel-6/+12
Always terminate strncpy results with '\0'.
2017-04-02Check malloc return value for NULL.Tobias Stoeckmann-1/+1
If malloc cannot allocate enough memory, it could return NULL. This is not necessarily true for default Linux settings, but can be provoked there as well by adjusting proc entries. Other systems like the *BSD ones definitely do this. The function _emalloc exists for exactly this purpose, so use it instead of calling malloc directly. Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
2017-04-02Fixed memory leak on file name collision.Tobias Stoeckmann-0/+2
If feh_unique_filename encounters a file that already exists, the memory for the temporary filename is not released. As this happens in /tmp at some code places, an attacker could use this to spray the memory of feh, or simply triggering an out of memory condition. Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
2017-04-02Avoid out of boundary read on empty/broken file.Tobias Stoeckmann-2/+2
If ereadfile encounters an empty file or the file could not be read, an out ouf boundary read (and possible write) occurs. Always check the return value of fread to be > 0 before processing the result buffer. Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
2017-04-02Always terminate strncpy results with '\0'.Tobias Stoeckmann-6/+12
The strncpy function does not guarantee to end the resulting character sequence with a terminating nul character if not enough space is available. This could be triggered by supplying a sufficiently long output_file option. Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
2017-03-23Fix double-free/OOB-write while receiving IPC dataTobias Stoeckmann-1/+1
If a malicious client pretends to be the E17 window manager, it is possible to trigger an out of boundary heap write while receiving an IPC message. The length of the already received message is stored in an unsigned short, which overflows after receiving 64 KB of data. It's comparably small amount of data and therefore achievable for an attacker. When len overflows, realloc() will either be called with a small value and therefore chars will be appended out of bounds, or len + 1 will be exactly 0, in which case realloc() behaves like free(). This could be abused for a later double-free attack as it's even possible to overwrite the free information -- but this depends on the malloc implementation. Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>