Age | Commit message (Collapse) | Author | Lines |
|
|
|
|
|
Fix some warnings from `gcc`.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This ensures that X11 layout or other changes do not affect the .fehbg
contents, which are meant to only be updated when a --bg-option is used
manually.
Closes #482
|
|
When setting wallpapers without --no-fehbg option, a ~/.fehbg file is
created. This file is set to be an executable for later re-use.
Calling stat() without checking the return value can lead to issues.
If the call fails, then s.st_mode is undefined and excessive permissions
could be set to .fehbg, at worst even setuid/setgid bits for a world
writable file.
While adjusting this, I changed the code to use fstat() and fchmod() to
avoid a further -- but very unlikely -- issue: race condition in form of
TOCTOU. If the file ~/.fehsetbg is replaced by a symlink right before
the chmod call, then a different file would be set executable + the
default mode of the (newly created) file. I don't expect this to be a
real world issue but changed this part "while at it" anyway for more
robust code and a good example on how to handle files.
Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
|
|
|
|
Closes #456
Note that --randomize and directory names are not saved in fehbg. It only
contains the command line needed to recreate the wallpaper setup which
resulted from its invocation, i.e., after randomization etc. have been
applied. This is intentional.
|
|
Quoting glibc rand(3):
The versions of rand() and srand() in the Linux C Library use the same random
number generator as random(3) and srandom(3), so the lower-order bits should be
as random as the higher-order bits. However, on older rand()
implementations, and on current implementations on different systems, the
lower-order bits are much less random than the higher-order bits. Do not use
this function in applications intended to be portable when good randomness is
needed. (Use random(3) instead.)
|
|
|
|
Closes #400
|
|
|
|
|
|
This restores pre-2.21 ~/.fehbg behaviour. Replicating the entire commandline
in ~/.fehbg turned out to do more harm than good.
Closes #398
|
|
|
|
|
|
|
|
ulteq-custom-background-color
|
|
|
|
|
|
|
|
|
|
|
|
This fixes --force-aliasing (and possibly other options) missing from the file.
|
|
|
|
|
|
|
|
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>
|
|
|
|
The if statements are needed because we cannot pass a NULL pointer to
XFree.
|
|
|
|
The following adds the ability, when using `feh` as a background setter,
to use a specific Xinerama screen to render a provided image. Along with
the provided '--bg-*' option, the '--xinerama-index' argument will be
used to identify the index of the detected Xinerama screen to use.
Signed-off-by: James Knight <james.d.knight@live.com>
|
|
The 'fehbg' variable can be allocated whether or not the user wishes to
generated a fehbg file. Ensure the variable is free'ed before we return.
Signed-off-by: James Knight <james.d.knight@live.com>
|
|
|
|
|
|
|
|
|
|
|
|
Overloads the --geometry option for wallpaper setting
Currently only supports the two options that result in
black borders, --bg-max and --bg-center.
For both, if a geometry offset is specified (w/h is ignored),
the image will be offset the specified pixels from the screen edge
Left side for + numbers, right side for -.
+/-0 will align at the edge of the screen.
|
|
|
|
Previously feh would set a black background around wallpaper images,
with no option to change.
This commit extends the functionality offered by the --image-bg option,
which is available for regular image viewing, to centered and max'ed feh
backgrounds. Essentially, this means a white border can now be chosen
in addition to a black one.
|
|
|
|
|