1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2024-12-23 17:34:00 +03:00

src: our lord is coverity

This commit is contained in:
Lennart Poettering 2011-03-31 15:35:40 +02:00
parent ba1a55152c
commit da19d5c19f
17 changed files with 39 additions and 21 deletions

2
TODO
View File

@ -27,6 +27,8 @@ F15:
* ply should do mkdir before writing pid file
* ConditionDirectoryNotEmpty= needs to be documented
Features:
* teach dbus to activate all services it finds in /etc/systemd/services/org-*.service

View File

@ -30,7 +30,9 @@
Condition* condition_new(ConditionType type, const char *parameter, bool trigger, bool negate) {
Condition *c;
c = new0(Condition, 1);
if (!(c = new0(Condition, 1)))
return NULL;
c->type = type;
c->trigger = trigger;
c->negate = negate;

View File

@ -1020,8 +1020,10 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection,
if (!e)
goto oom;
if (!(reply = dbus_message_new_method_return(message)))
if (!(reply = dbus_message_new_method_return(message))) {
strv_free(e);
goto oom;
}
strv_free(m->environment);
m->environment = e;
@ -1108,8 +1110,6 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection,
goto oom;
}
free(path);
if (reply) {
if (!dbus_connection_send(connection, reply, NULL))
goto oom;
@ -1117,6 +1117,8 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection,
dbus_message_unref(reply);
}
free(path);
return DBUS_HANDLER_RESULT_HANDLED;
oom:

View File

@ -455,8 +455,6 @@ static DBusHandlerResult bus_unit_message_dispatch(Unit *u, DBusConnection *conn
goto oom;
}
free(path);
if (reply) {
if (!dbus_connection_send(connection, reply, NULL))
goto oom;
@ -464,6 +462,8 @@ static DBusHandlerResult bus_unit_message_dispatch(Unit *u, DBusConnection *conn
dbus_message_unref(reply);
}
free(path);
return DBUS_HANDLER_RESULT_HANDLED;
oom:

View File

@ -176,8 +176,8 @@ static dbus_bool_t bus_add_watch(DBusWatch *bus_watch, void *data) {
}
if (epoll_ctl(m->epoll_fd, EPOLL_CTL_ADD, w->fd, &ev) < 0) {
free(w);
close_nointr_nofail(w->fd);
free(w);
return FALSE;
}
@ -236,7 +236,7 @@ static int bus_timeout_arm(Manager *m, Watch *w) {
if (dbus_timeout_get_enabled(w->data.bus_timeout)) {
timespec_store(&its.it_value, dbus_timeout_get_interval(w->data.bus_timeout) * USEC_PER_MSEC);
its.it_interval = its.it_interval;
its.it_interval = its.it_value;
}
if (timerfd_settime(w->fd, 0, &its, NULL) < 0)
@ -269,7 +269,7 @@ static dbus_bool_t bus_add_timeout(DBusTimeout *timeout, void *data) {
if (!(w = new0(Watch, 1)))
return FALSE;
if (!(w->fd = timerfd_create(CLOCK_MONOTONIC, TFD_NONBLOCK|TFD_CLOEXEC)) < 0)
if ((w->fd = timerfd_create(CLOCK_MONOTONIC, TFD_NONBLOCK|TFD_CLOEXEC)) < 0)
goto fail;
w->type = WATCH_DBUS_TIMEOUT;

View File

@ -646,7 +646,7 @@ static int enforce_groups(const ExecContext *context, const char *username, gid_
char **i;
/* Final step, initialize any manually set supplementary groups */
ngroups_max = (int) sysconf(_SC_NGROUPS_MAX);
assert_se((ngroups_max = (int) sysconf(_SC_NGROUPS_MAX)) > 0);
if (!(gids = new(gid_t, ngroups_max)))
return -ENOMEM;

View File

@ -2615,7 +2615,7 @@ int manager_open_serialization(Manager *m, FILE **_f) {
log_debug("Serializing state to %s", path);
free(path);
if (!(f = fdopen(fd, "w+")) < 0)
if (!(f = fdopen(fd, "w+")))
return -errno;
*_f = f;

View File

@ -99,17 +99,21 @@ int main(int argc, char *argv[]) {
}
f = fopen(fn, "re");
free(fn);
if (!f) {
if (errno == ENOENT)
if (errno == ENOENT) {
free(fn);
continue;
}
log_error("Failed to open %s: %m", fn);
free(fn);
r = EXIT_FAILURE;
continue;
}
free(fn);
for (;;) {
char line[LINE_MAX], *l, *t;

View File

@ -785,6 +785,7 @@ static void mount_enter_signal(Mount *m, MountState state, bool success) {
wait_for_exit = true;
set_free(pid_set);
pid_set = NULL;
}
}

View File

@ -122,7 +122,8 @@ static int replay(const char *root) {
FILE *pack = NULL;
char line[LINE_MAX];
int r = 0;
char *pack_fn = NULL, c;
char *pack_fn = NULL;
int c;
bool on_ssd, ready = false;
int prio;
int inotify_fd = -1;

View File

@ -406,7 +406,7 @@ static int sysv_fix_order(Service *s) {
/* FIXME: Maybe we should compare the name here lexicographically? */
if (!(r = unit_add_dependency(UNIT(s), d, UNIT(t), true)) < 0)
if ((r = unit_add_dependency(UNIT(s), d, UNIT(t), true)) < 0)
return r;
}
@ -1024,7 +1024,7 @@ static int fsck_fix_order(Service *s) {
else
continue;
if (!(r = unit_add_dependency(UNIT(s), d, UNIT(t), true)) < 0)
if ((r = unit_add_dependency(UNIT(s), d, UNIT(t), true)) < 0)
return r;
}
@ -1882,6 +1882,7 @@ static void service_enter_signal(Service *s, ServiceState state, bool success) {
wait_for_exit = true;
set_free(pid_set);
pid_set = NULL;
}
}

View File

@ -227,7 +227,7 @@ int main(int argc, char *argv[]) {
if ((pollfd[i].fd = timerfd_create(CLOCK_REALTIME, TFD_NONBLOCK|TFD_CLOEXEC)) < 0) {
log_error("timerfd_create(): %m");
failed = false;
failed = true;
}
}

View File

@ -1066,6 +1066,7 @@ static void socket_enter_signal(Socket *s, SocketState state, bool success) {
wait_for_exit = true;
set_free(pid_set);
pid_set = NULL;
}
}
@ -1695,6 +1696,7 @@ static void socket_timer_event(Unit *u, uint64_t elapsed, Watch *w) {
case SOCKET_START_PRE:
log_warning("%s starting timed out. Terminating.", u->meta.id);
socket_enter_signal(s, SOCKET_FINAL_SIGTERM, false);
break;
case SOCKET_START_POST:
log_warning("%s starting timed out. Stopping.", u->meta.id);

View File

@ -78,9 +78,11 @@ char **strv_copy(char **l) {
return r;
fail:
for (k--, l--; k >= r; k--, l--)
for (k--; k >= r; k--)
free(*k);
free(r);
return NULL;
}
@ -435,6 +437,8 @@ char **strv_env_merge(unsigned n_lists, ...) {
return r;
fail:
va_end(ap);
for (k--; k >= r; k--)
free(*k);

View File

@ -687,6 +687,7 @@ static void swap_enter_signal(Swap *s, SwapState state, bool success) {
wait_for_exit = true;
set_free(pid_set);
pid_set = NULL;
}
}

View File

@ -2035,8 +2035,7 @@ char **unit_full_printf_strv(Unit *u, char **l) {
return r;
fail:
j--;
while (j >= r)
for (j--; j >= r; j--)
free(*j);
free(r);

View File

@ -3582,7 +3582,6 @@ char *normalize_env_assignment(const char *s) {
free(p);
if (!value) {
free(p);
free(name);
return NULL;
}