[systemd-devel] [PATCH 02/12] test: make msg_send() return -errno
Djalal Harouni
tixxdz at opendz.org
Fri Jun 20 09:49:56 PDT 2014
Make msg_send() return negative errno not EXIT_FAILURE. We need this
since we will add tests that fork() and drop privileges and we want all
the error codes, especially -EPERM.
After a quick grep it seems the return value of msg_send() is never
used, so it is safe to convert it, this wont break any test.
Signed-off-by: Djalal Harouni <tixxdz at opendz.org>
---
test/kdbus-util.c | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/test/kdbus-util.c b/test/kdbus-util.c
index 988aa8c..b7dc057 100644
--- a/test/kdbus-util.c
+++ b/test/kdbus-util.c
@@ -189,20 +189,23 @@ int msg_send(const struct conn *conn,
strcpy(m.name, "my-name-is-nice");
ret = ioctl(conn->fd, KDBUS_CMD_MEMFD_NEW, &m);
if (ret < 0) {
+ ret = -errno;
fprintf(stderr, "KDBUS_CMD_MEMFD_NEW failed: %m\n");
- return EXIT_FAILURE;
+ return ret;
}
memfd = m.cmd.fd;
if (write(memfd, "kdbus memfd 1234567", 19) != 19) {
+ ret = -errno;
fprintf(stderr, "writing to memfd failed: %m\n");
- return EXIT_FAILURE;
+ return ret;
}
ret = ioctl(memfd, KDBUS_CMD_MEMFD_SEAL_SET, true);
if (ret < 0) {
+ ret = -errno;
fprintf(stderr, "memfd sealing failed: %m\n");
- return EXIT_FAILURE;
+ return ret;
}
size += KDBUS_ITEM_SIZE(sizeof(struct kdbus_memfd));
@@ -213,8 +216,9 @@ int msg_send(const struct conn *conn,
msg = malloc(size);
if (!msg) {
+ ret = -errno;
fprintf(stderr, "unable to malloc()!?\n");
- return EXIT_FAILURE;
+ return ret;
}
memset(msg, 0, size);
@@ -269,8 +273,9 @@ int msg_send(const struct conn *conn,
ret = ioctl(conn->fd, KDBUS_CMD_MSG_SEND, msg);
if (ret < 0) {
+ ret = -errno;
fprintf(stderr, "error sending message: %d err %d (%m)\n", ret, errno);
- return EXIT_FAILURE;
+ return ret;
}
if (memfd >= 0)
--
1.9.0
More information about the systemd-devel
mailing list