1
0
mirror of https://github.com/systemd/systemd.git synced 2024-11-14 15:21:37 +03:00
Commit Graph

17118 Commits

Author SHA1 Message Date
David Herrmann
1164e944d9 terminal: remove dead code checking O_WRONLY
We only reject evdev FDs that are O_WRONLY as they're currently pretty
useless. The following check for O_WRONLY is thus never excercised so drop
it.
Thanks to Thomas Andersen (via coverity)!
2014-09-16 23:01:48 +02:00
Thomas Hindoe Paaboel Andersen
cca0efb047 test: silence a coverity report
We check the actual contents of the file on the line after but we
might as well also check the number of bytes read here.

Found by coverity. Fixes: CID#1237521
2014-09-16 22:02:23 +02:00
Andreas Henriksson
d9ab174bd7 shared: fix resource leak in config_parse_default_instance
The recently allocated "printed" is not freed on error path.

Found by coverity. Fixes: CID#1237745
2014-09-16 21:49:56 +02:00
Andreas Henriksson
91e7bad45d sysv-generator: fix resource leak
The "unit" string allocation is not freed on either error or success path.

Found by coverity. Fixes: CID#1237755
2014-09-16 21:49:03 +02:00
Andreas Henriksson
aa9f8a30fd core: fix resource leak in manager_environment_add
Second error path must free the (potentially) allocated memory in the
first code chunk before returning.

Found by coverity. Fixes: CID#1237750
2014-09-16 21:47:24 +02:00
Cristian Rodríguez
06b7f7bd7f missing: memfd_create takes unsigned int flags in final version 2014-09-16 21:46:14 +02:00
Thomas Hindoe Paaboel Andersen
9169b9a8cc terminal: sd_bus_error_get_errno returns positive errno
The 3 calls to sd_bus_error_get_errno appear to expect a negative
return value.

This patch negates the returned value so it matches the other error
cases in the 3 functions where sd_bus_error_get_errno is used.
2014-09-16 21:31:15 +02:00
Thomas Hindoe Paaboel Andersen
b49ffb29ed sd-bus: sd_bus_message_get_errno should only return positive errno
sd_bus_message_get_errno can currently return either a number of
different poitive errno values (from bus-error-mapping), or a negative
EINVAL if passed null as parameter.

The check for null parameter was introduced in 40ca29a137
at the same as the function was renamed from bus_message_to_errno and
made public API. Before becoming public the function used to return
only negative values.

It is weird to have a function return both positive and negative errno
and it generally looks like a mistake. The function is guarded by the
--enable-kdbus flags so I wonder if we still have time to fix it up?
It does not have any documentation yet. However, except for a few details
it is just a convenient way to call sd_bus_error_get_errno which is documented
to return only positive errno.

This patch makes it return only positive errno and fixes up the two
calls to the function that tried to cope with both positive and negative
values.
2014-09-16 21:31:15 +02:00
Andreas Henriksson
d498a61607 bootchart: oom-check correct variable
Coverity warned that we have already dereferenced ps->sample before
null-checking it. I suspect that's not really the issue and that
the check is checking the wrong variable.
Likely the oom-check should be on the just allocated ps->sample->next.

Found by coverity. Fixes: CID#1237765
2014-09-16 20:25:30 +02:00
Tom Gundersen
e10f3c431a bootchart: use safe_atod() rather than strtod() 2014-09-16 18:42:22 +02:00
David Herrmann
caffbef636 hostname: add missing EMITS_CHANGE annotation
We call into sd-bus to send PropertiesChanged notifications for
"Hostname", but forgot to add the annotation to the bus-vtable. Fix that!
2014-09-16 17:34:54 +02:00
Andreas Henriksson
2833796106 libsystemd-network: avoid double-free in error case
Don't manually free 'n' in error path as it's already tagged
_cleanup_free_ and will be freed once it goes out of scope,
leading to double-free in this case.

Found with coverity. Fixes: CID#1237786
2014-09-16 16:20:41 +02:00
Lukas Nykryn
821b2e7921 gpt-auto-generator: fix typo 2014-09-16 13:50:11 +02:00
Tom Gundersen
85639427b3 udev: rules - add missing whitespace to log message 2014-09-16 12:12:57 +02:00
Tom Gundersen
f1e8664e4a udevd: use safe_ato*() in place of strto*() 2014-09-16 12:12:56 +02:00
Tom Gundersen
ba7408a6e9 udev: util - use log_level_from_string() 2014-09-16 12:12:56 +02:00
Tom Gundersen
37d522746b libudev: util - drop util_delete_path()
Use rmdir_parents() from src/shared instead.
2014-09-16 12:12:56 +02:00
Tom Gundersen
23bf8dd7d5 libudev: drop util_lookup_{user,group}
Use shared versions instead. Difference is with overwriting of repeated user/group
name, and lack of logging.
2014-09-16 12:12:56 +02:00
Tom Gundersen
4d6dac13ad udev: apply permissions to static nodes before signallying READY
Processes expecting static nodes to have the right permissions may order themselves after systemd-udevd.service,
make sure that actually guarantees what is expected.
2014-09-16 12:12:56 +02:00
Tom Gundersen
ebc164ef40 udev: only print after final log level has been determined
This delays label_init(), and drops the (duplicate) printing of version
information.
2014-09-16 12:12:56 +02:00
Tom Gundersen
3f56f784b9 udevd: initialize epoll_event structs on allocation
Also move the rest of event initialization next to the event loop (no functional change).
2014-09-16 12:12:56 +02:00
Tom Gundersen
5c67cf2774 udev: don't close std{in,out,err}
Rather than printing debug output to stderr and redirecting this to /dev/null when not wanted,
use the correct log_*() function in the first place.
2014-09-16 12:12:56 +02:00
Tom Gundersen
959d654105 udev: drop duplicate logging
Once upon a time logging during early boot was unreliable, so extra logging messages were
sent by udev to stderr. That is no longer a concern, so drop all fprintf() calls from udved.
2014-09-16 12:12:56 +02:00
Tom Gundersen
bba7a48439 udev: split out parse_argv()
Also rename some global variables to arg_* to make it clearer where they come from.
2014-09-16 12:12:55 +02:00
Tom Gundersen
ed216e1ff0 udev: split out help and modernise a bit 2014-09-16 12:12:55 +02:00
Thomas Hindoe Paaboel Andersen
f70ca25ae0 man: sd_bus_error typo fix 2014-09-15 23:17:57 +02:00
David Herrmann
440046e922 terminal: fix missing hashmap_new() conversions
hashmap_new() now takes *_ops instead of individual functions. Fix up any
missing invokations of it that haven't been converted already.
2014-09-15 17:12:41 +02:00
Emil Renner Berthing
1acf166349 remove unneeded error.h includes
These are the only two places where this glibc-specific
header is included. However none of the definitions in it
seem to be used, so just remove the includes.
2014-09-15 17:02:25 +02:00
Michal Schmidt
4dd6c5726d sd-bus: use proper ITERATOR_FIRST abstraction
Do not assume hashmap iterators are pointers.
They may be structs in an alternative hashmap implementation.
2014-09-15 16:08:50 +02:00
Michal Schmidt
923041cb0a hashmap: minor hashmap_replace optimization
When hashmap_replace detects no such key exists yet, it calls hashmap_put that
performs the same check again. Avoid that by splitting the core of hashmap_put
into a separate function.
2014-09-15 16:08:50 +02:00
Michal Schmidt
631b9deefb hashmap, set: remove unused functions
The following hashmap_* and set_* functions/macros have never had any
users in systemd's history:

  *_iterate_backwards
  *_iterate_skip
  *_last
  *_FOREACH_BACKWARDS

Remove this dead code.
2014-09-15 16:08:50 +02:00
Michal Schmidt
d5099efc47 hashmap: introduce hash_ops to make struct Hashmap smaller
It is redundant to store 'hash' and 'compare' function pointers in
struct Hashmap separately. The functions always comprise a pair.
Store a single pointer to struct hash_ops instead.

systemd keeps hundreds of hashmaps, so this saves a little bit of
memory.
2014-09-15 16:08:50 +02:00
Michal Schmidt
f44541bc93 build: colorize gcc only if on tty
Rather than forcing gcc to always produce colorized error messages
whether on tty or not, enable automatic colorization by ensuring
GCC_COLORS is set to a non-empty string.

Doing it this way removes the need for workarounds in ~/.emacs or
~/.vimrc for "M-x compile" or ":make", respectively, to work.
2014-09-15 16:08:50 +02:00
Thomas Hindoe Paaboel Andersen
20755373b1 test: fix test of uid-range
The number of uid's in the range should be tested instead of written
directly.

The test still passes with the fix checks.

Found with Coverity. Fixes: CID#1237714 - 1237722
2014-09-14 22:47:21 +02:00
Thomas Hindoe Paaboel Andersen
86be3e1e65 sd-dhcp: fix test of magic cookie
The magic cookie is set in dhcp_message_init. Test the magic cookie
value intead of writing the last 3/4 of it directly.

Found with Coverity. Fixes: CID#1237732 CID#1237734 CID#1237735
2014-09-14 22:47:21 +02:00
Tom Gundersen
d1c457badf resolved: fall back to hardcoded ifindex when checking if a link is the loopback
Reported by Philippe De Swert <philippedeswert@gmail.com>.

Coverity CID#1237656
2014-09-13 21:10:59 +02:00
Dave Reisner
124f09e812 networkd: remove vestigial event sources
187fe1db took advantage of floating events, but didn't remove pointers
it made superfluous.
2014-09-13 14:18:20 -04:00
Dave Reisner
eed9386748 core: use correct function to free CalendarSpec 2014-09-13 11:18:26 -04:00
Thomas Hindoe Paaboel Andersen
4d5e13a125 core: fix a potential mem leak
Found with Coverity. Fixes: CID#996438
2014-09-13 12:38:39 +02:00
Thomas Hindoe Paaboel Andersen
0ee9613d98 analyze: fix mem leak
Found with Coverity. Fixes: CID#1237756
2014-09-13 12:38:39 +02:00
Philippe De Swert
b9289d4c6e core: smack-setup: Actually allow for succesfully loading CIPSO policy
The line under the last switch statement  *loaded_policy = true;
would never be executed. As all switch cases return 0. Thus the
policy would never be marked as loaded.

Found with Coverity. Fixes: CID#1237785
2014-09-13 11:54:09 +02:00
Thomas Hindoe Paaboel Andersen
d725a138c5 analyze: avoid a null dereference
If we have an error in the early sd_bus_* calls then unit_times
will still be null.

Found with coverity. Fixes: CID#996464
2014-09-11 23:45:36 +02:00
Tom Gundersen
6711741365 udev: timeout - warn after a third of the timeout before killing 2014-09-11 23:45:01 +02:00
Thomas Hindoe Paaboel Andersen
e926f6475d firstboot: silence a warning
No change in behavoir as the fallthrough from ARG_COPY had already
set arg_copy_locale to true.

Found with coverity. Fixes: CID#1237622
2014-09-11 21:29:59 +02:00
Thomas Hindoe Paaboel Andersen
807d0cca2b manager: use correct cleanup function
Close the dir instead of attempt to free it.

Introduced in 874310b7b6

Found with coverity. Fixes: CID#996368
2014-09-11 21:22:45 +02:00
Philippe De Swert
aa44499da1 activate: fix fd leak in do_accept()
Found with Coverity.
2014-09-11 17:47:37 +02:00
David Herrmann
3f2e132a19 test: fix mem-leak in fdopen() test
We must free FILE* after function return to not leak resources. Note that
this also closes our fd as fdopen() takes ownership of it.
Reported by Philippe De Swert (via coverity).
2014-09-11 17:39:17 +02:00
Philippe De Swert
2b347169b9 bus: unref buscreds on failure
Actually unref the buscreds when we are not going to return a
pointer to them. As when bus_creds_add_more fails we immediately
return the error code otherwise and leak the new buscreds.
Found with coverity. Fixes: CID#1237761
2014-09-11 17:29:19 +02:00
Philippe De Swert
b67ddc7bbe journal: do not leak mmaps on OOM
After a section of memory is succesfully allocated, some of the following
actions can still fail due to lack of memory. In this case -ENOMEM is
returned without actually freeing the already mapped memory.
Found with coverity. Fixes: CID#1237762
2014-09-11 17:27:44 +02:00
David Herrmann
21978bc3c9 terminal: fix uninitialized variable in strerror() log message
We currently print weird error-messages if xkbcommon fails (which cannot
fail so far, but might in the future). Fix the uninitialized variable
warnings by setting 'r' correctly.
Thanks to Philippe De Swert for catching this (via coverity).
2014-09-11 17:20:11 +02:00