summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--coccinelle/safe_close-no-if.cocci7
-rw-r--r--src/login/logind-button.c4
-rw-r--r--src/udev/udev-event.c16
3 files changed, 12 insertions, 15 deletions
diff --git a/coccinelle/safe_close-no-if.cocci b/coccinelle/safe_close-no-if.cocci
new file mode 100644
index 0000000000..81c5678518
--- /dev/null
+++ b/coccinelle/safe_close-no-if.cocci
@@ -0,0 +1,7 @@
+@@
+expression fd;
+@@
+- if (fd >= 0) {
+- fd = safe_close(fd);
+- }
++ fd = safe_close(fd);
diff --git a/src/login/logind-button.c b/src/login/logind-button.c
index 3324c4622c..92c1b67951 100644
--- a/src/login/logind-button.c
+++ b/src/login/logind-button.c
@@ -239,9 +239,7 @@ int button_open(Button *b) {
assert(b);
- if (b->fd >= 0) {
- b->fd = safe_close(b->fd);
- }
+ b->fd = safe_close(b->fd);
p = strjoina("/dev/input/", b->name);
diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c
index f2b165076d..8ba6aed00e 100644
--- a/src/udev/udev-event.c
+++ b/src/udev/udev-event.c
@@ -753,12 +753,8 @@ int udev_event_spawn(struct udev_event *event,
char program[UTIL_PATH_SIZE];
/* child closes parent's ends of pipes */
- if (outpipe[READ_END] >= 0) {
- outpipe[READ_END] = safe_close(outpipe[READ_END]);
- }
- if (errpipe[READ_END] >= 0) {
- errpipe[READ_END] = safe_close(errpipe[READ_END]);
- }
+ outpipe[READ_END] = safe_close(outpipe[READ_END]);
+ errpipe[READ_END] = safe_close(errpipe[READ_END]);
strscpy(arg, sizeof(arg), cmd);
udev_build_argv(event->udev, arg, NULL, argv);
@@ -782,12 +778,8 @@ int udev_event_spawn(struct udev_event *event,
goto out;
default:
/* parent closed child's ends of pipes */
- if (outpipe[WRITE_END] >= 0) {
- outpipe[WRITE_END] = safe_close(outpipe[WRITE_END]);
- }
- if (errpipe[WRITE_END] >= 0) {
- errpipe[WRITE_END] = safe_close(errpipe[WRITE_END]);
- }
+ outpipe[WRITE_END] = safe_close(outpipe[WRITE_END]);
+ errpipe[WRITE_END] = safe_close(errpipe[WRITE_END]);
spawn_read(event,
timeout_usec,