1
0
mirror of https://github.com/systemd/systemd.git synced 2024-10-28 20:25:38 +03:00

llvm-analyze: fix some bugs found by llvm-analyze

This commit is contained in:
Lennart Poettering 2011-09-23 02:39:28 +02:00
parent 4e240ab0c9
commit de3756ab99
3 changed files with 30 additions and 20 deletions

View File

@ -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;
}

View File

@ -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++;
}
}
}

View File

@ -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;