mirror of
https://github.com/systemd/systemd.git
synced 2025-03-19 22:50:17 +03:00
llvm-analyze: fix some bugs found by llvm-analyze
This commit is contained in:
parent
4e240ab0c9
commit
de3756ab99
@ -1063,10 +1063,9 @@ static int show(DBusConnection *bus, char **args, unsigned n) {
|
||||
uid_t uid;
|
||||
uint32_t u;
|
||||
|
||||
r = get_user_creds((const char**) (args+i), &uid, NULL, NULL);
|
||||
ret = get_user_creds((const char**) (args+i), &uid, NULL, NULL);
|
||||
if (r < 0) {
|
||||
log_error("User %s unknown.", args[i]);
|
||||
r = -ENOENT;
|
||||
goto finish;
|
||||
}
|
||||
|
||||
|
@ -481,34 +481,39 @@ _public_ int sd_seat_get_sessions(const char *seat, char ***sessions, uid_t **ui
|
||||
if (uids && t) {
|
||||
char *w, *state;
|
||||
size_t l;
|
||||
unsigned i = 0;
|
||||
|
||||
FOREACH_WORD(w, l, t, state)
|
||||
n++;
|
||||
|
||||
b = new(uid_t, n);
|
||||
if (!b) {
|
||||
strv_free(a);
|
||||
return -ENOMEM;
|
||||
}
|
||||
if (n == 0)
|
||||
b = NULL;
|
||||
else {
|
||||
unsigned i = 0;
|
||||
|
||||
FOREACH_WORD(w, l, t, state) {
|
||||
char *k;
|
||||
|
||||
k = strndup(w, l);
|
||||
if (!k) {
|
||||
free(t);
|
||||
free(b);
|
||||
b = new(uid_t, n);
|
||||
if (!b) {
|
||||
strv_free(a);
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
r = parse_uid(k, b + i);
|
||||
free(k);
|
||||
if (r < 0)
|
||||
continue;
|
||||
FOREACH_WORD(w, l, t, state) {
|
||||
char *k;
|
||||
|
||||
i++;
|
||||
k = strndup(w, l);
|
||||
if (!k) {
|
||||
free(t);
|
||||
free(b);
|
||||
strv_free(a);
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
r = parse_uid(k, b + i);
|
||||
free(k);
|
||||
if (r < 0)
|
||||
continue;
|
||||
|
||||
i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1962,6 +1962,12 @@ int socket_collect_fds(Socket *s, int **fds, unsigned *n_fds) {
|
||||
if (p->fd >= 0)
|
||||
rn_fds++;
|
||||
|
||||
if (rn_fds <= 0) {
|
||||
*fds = NULL;
|
||||
*n_fds = 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (!(rfds = new(int, rn_fds)))
|
||||
return -ENOMEM;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user