Age | Commit message (Collapse) | Author | Lines |
|
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.
|
|
|
|
|
|
|
|
|
|
Squashed commit of the following:
commit 55e66e15af898f4c01d7d265013124fefce795e4
Author: Daniel Friesel <derf@finalrewind.org>
Date: Mon Sep 26 19:59:46 2011 +0200
Save all filenames in ~/.fehbg
commit afc2774f315fc379aa96de58decf8370772036af
Author: Daniel Friesel <derf@finalrewind.org>
Date: Mon Sep 26 19:24:38 2011 +0200
Update test/bg --bg-fill images (off-by-one due to changed implementation)
commit bd4210cff2e895414df12868f6cab7f193c5adf5
Author: Daniel Friesel <derf@finalrewind.org>
Date: Mon Sep 26 14:47:00 2011 +0200
Fix feh_wm_set_bg_maxed
commit d9ada9dc2a74aef6ae0924e9c0ff296b94ee25bc
Author: Daniel Friesel <derf@finalrewind.org>
Date: Mon Sep 26 14:39:11 2011 +0200
Fix for non-xinerama setups
commit be2cf0f1f8c00b737e7141a372d3cbc9db4c949f
Author: Daniel Friesel <derf@finalrewind.org>
Date: Mon Sep 26 14:24:44 2011 +0200
Move wallpaper calculation code into separate functions
commit 4e07c1f9734569fdd778a813c5a85c63b51b3175
Author: Daniel Friesel <derf@finalrewind.org>
Date: Mon Sep 26 13:01:46 2011 +0200
Remove unnecessary temporary variable
commit 23d1d733b21d1560e1fbcadddc34cae3d666b21d
Author: Daniel Friesel <derf@finalrewind.org>
Date: Mon Sep 26 12:46:25 2011 +0200
Initial conversion, works with --bg-scale
|
|
|