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:
commit
e503467fa0
@ -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);
|
||||||
|
@ -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;
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
@ -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)
|
||||||
|
Loading…
Reference in New Issue
Block a user