1
0
mirror of https://github.com/systemd/systemd.git synced 2024-11-08 11:27:32 +03:00

Merge pull request #953 from poettering/ebadf

tree-wide: generate EBADF when we get invalid fds
This commit is contained in:
Daniel Mack 2015-08-17 10:10:04 +02:00
commit e503467fa0
5 changed files with 14 additions and 14 deletions

View File

@ -2686,7 +2686,7 @@ _public_ int sd_bus_message_append_array_memfd(
int r; int r;
assert_return(m, -EINVAL); assert_return(m, -EINVAL);
assert_return(memfd >= 0, -EINVAL); assert_return(memfd >= 0, -EBADF);
assert_return(bus_type_is_trivial(type), -EINVAL); assert_return(bus_type_is_trivial(type), -EINVAL);
assert_return(size > 0, -EINVAL); assert_return(size > 0, -EINVAL);
assert_return(!m->sealed, -EPERM); assert_return(!m->sealed, -EPERM);
@ -2762,7 +2762,7 @@ _public_ int sd_bus_message_append_string_memfd(
int r; int r;
assert_return(m, -EINVAL); assert_return(m, -EINVAL);
assert_return(memfd >= 0, -EINVAL); assert_return(memfd >= 0, -EBADF);
assert_return(size > 0, -EINVAL); assert_return(size > 0, -EINVAL);
assert_return(!m->sealed, -EPERM); assert_return(!m->sealed, -EPERM);
assert_return(!m->poisoned, -ESTALE); assert_return(!m->poisoned, -ESTALE);

View File

@ -213,8 +213,8 @@ _public_ int sd_bus_set_address(sd_bus *bus, const char *address) {
_public_ int sd_bus_set_fd(sd_bus *bus, int input_fd, int output_fd) { _public_ int sd_bus_set_fd(sd_bus *bus, int input_fd, int output_fd) {
assert_return(bus, -EINVAL); assert_return(bus, -EINVAL);
assert_return(bus->state == BUS_UNSET, -EPERM); assert_return(bus->state == BUS_UNSET, -EPERM);
assert_return(input_fd >= 0, -EINVAL); assert_return(input_fd >= 0, -EBADF);
assert_return(output_fd >= 0, -EINVAL); assert_return(output_fd >= 0, -EBADF);
assert_return(!bus_pid_changed(bus), -ECHILD); assert_return(!bus_pid_changed(bus), -ECHILD);
bus->input_fd = input_fd; bus->input_fd = input_fd;

View File

@ -816,7 +816,7 @@ _public_ int sd_event_add_io(
int r; int r;
assert_return(e, -EINVAL); assert_return(e, -EINVAL);
assert_return(fd >= 0, -EINVAL); assert_return(fd >= 0, -EBADF);
assert_return(!(events & ~(EPOLLIN|EPOLLOUT|EPOLLRDHUP|EPOLLPRI|EPOLLERR|EPOLLHUP|EPOLLET)), -EINVAL); assert_return(!(events & ~(EPOLLIN|EPOLLOUT|EPOLLRDHUP|EPOLLPRI|EPOLLERR|EPOLLHUP|EPOLLET)), -EINVAL);
assert_return(callback, -EINVAL); assert_return(callback, -EINVAL);
assert_return(e->state != SD_EVENT_FINISHED, -ESTALE); assert_return(e->state != SD_EVENT_FINISHED, -ESTALE);
@ -1311,7 +1311,7 @@ _public_ int sd_event_source_set_io_fd(sd_event_source *s, int fd) {
int r; int r;
assert_return(s, -EINVAL); assert_return(s, -EINVAL);
assert_return(fd >= 0, -EINVAL); assert_return(fd >= 0, -EBADF);
assert_return(s->type == SOURCE_IO, -EDOM); assert_return(s->type == SOURCE_IO, -EDOM);
assert_return(!event_pid_changed(s->event), -ECHILD); assert_return(!event_pid_changed(s->event), -ECHILD);

View File

@ -94,7 +94,7 @@ _public_ int sd_peer_get_session(int fd, char **session) {
struct ucred ucred = {}; struct ucred ucred = {};
int r; int r;
assert_return(fd >= 0, -EINVAL); assert_return(fd >= 0, -EBADF);
assert_return(session, -EINVAL); assert_return(session, -EINVAL);
r = getpeercred(fd, &ucred); r = getpeercred(fd, &ucred);
@ -108,7 +108,7 @@ _public_ int sd_peer_get_owner_uid(int fd, uid_t *uid) {
struct ucred ucred; struct ucred ucred;
int r; int r;
assert_return(fd >= 0, -EINVAL); assert_return(fd >= 0, -EBADF);
assert_return(uid, -EINVAL); assert_return(uid, -EINVAL);
r = getpeercred(fd, &ucred); r = getpeercred(fd, &ucred);
@ -122,7 +122,7 @@ _public_ int sd_peer_get_unit(int fd, char **unit) {
struct ucred ucred; struct ucred ucred;
int r; int r;
assert_return(fd >= 0, -EINVAL); assert_return(fd >= 0, -EBADF);
assert_return(unit, -EINVAL); assert_return(unit, -EINVAL);
r = getpeercred(fd, &ucred); r = getpeercred(fd, &ucred);
@ -136,7 +136,7 @@ _public_ int sd_peer_get_user_unit(int fd, char **unit) {
struct ucred ucred; struct ucred ucred;
int r; int r;
assert_return(fd >= 0, -EINVAL); assert_return(fd >= 0, -EBADF);
assert_return(unit, -EINVAL); assert_return(unit, -EINVAL);
r = getpeercred(fd, &ucred); r = getpeercred(fd, &ucred);
@ -150,7 +150,7 @@ _public_ int sd_peer_get_machine_name(int fd, char **machine) {
struct ucred ucred; struct ucred ucred;
int r; int r;
assert_return(fd >= 0, -EINVAL); assert_return(fd >= 0, -EBADF);
assert_return(machine, -EINVAL); assert_return(machine, -EINVAL);
r = getpeercred(fd, &ucred); r = getpeercred(fd, &ucred);
@ -164,7 +164,7 @@ _public_ int sd_peer_get_slice(int fd, char **slice) {
struct ucred ucred; struct ucred ucred;
int r; int r;
assert_return(fd >= 0, -EINVAL); assert_return(fd >= 0, -EBADF);
assert_return(slice, -EINVAL); assert_return(slice, -EINVAL);
r = getpeercred(fd, &ucred); r = getpeercred(fd, &ucred);
@ -178,7 +178,7 @@ _public_ int sd_peer_get_user_slice(int fd, char **slice) {
struct ucred ucred; struct ucred ucred;
int r; int r;
assert_return(fd >= 0, -EINVAL); assert_return(fd >= 0, -EBADF);
assert_return(slice, -EINVAL); assert_return(slice, -EINVAL);
r = getpeercred(fd, &ucred); r = getpeercred(fd, &ucred);

View File

@ -106,7 +106,7 @@ int sd_netlink_open_fd(sd_netlink **ret, int fd) {
int r; int r;
assert_return(ret, -EINVAL); assert_return(ret, -EINVAL);
assert_return(fd >= 0, -EINVAL); assert_return(fd >= 0, -EBADF);
r = sd_netlink_new(&rtnl); r = sd_netlink_new(&rtnl);
if (r < 0) if (r < 0)