Zbigniew Jędrzejewski-Szmek 62fe94
From 667b60341f404d8f18aa0909e34d39e7d6baa56b Mon Sep 17 00:00:00 2001
Zbigniew Jędrzejewski-Szmek 62fe94
From: David Herrmann <dh.herrmann@gmail.com>
Zbigniew Jędrzejewski-Szmek 62fe94
Date: Thu, 11 Sep 2014 15:29:58 +0200
Zbigniew Jędrzejewski-Szmek 62fe94
Subject: [PATCH] terminal: fix wrong return value in idev if fcntl() fails
Zbigniew Jędrzejewski-Szmek 62fe94
Zbigniew Jędrzejewski-Szmek 62fe94
This might cause >=0 to be returned, even though the method failed. Fix
Zbigniew Jędrzejewski-Szmek 62fe94
this and return -errno.
Zbigniew Jędrzejewski-Szmek 62fe94
---
Zbigniew Jędrzejewski-Szmek 62fe94
 src/libsystemd-terminal/idev-evdev.c | 2 +-
Zbigniew Jędrzejewski-Szmek 62fe94
 1 file changed, 1 insertion(+), 1 deletion(-)
Zbigniew Jędrzejewski-Szmek 62fe94
Zbigniew Jędrzejewski-Szmek 62fe94
diff --git a/src/libsystemd-terminal/idev-evdev.c b/src/libsystemd-terminal/idev-evdev.c
Zbigniew Jędrzejewski-Szmek 62fe94
index be9b0301a4..241743c3fd 100644
Zbigniew Jędrzejewski-Szmek 62fe94
--- a/src/libsystemd-terminal/idev-evdev.c
Zbigniew Jędrzejewski-Szmek 62fe94
+++ b/src/libsystemd-terminal/idev-evdev.c
Zbigniew Jędrzejewski-Szmek 62fe94
@@ -307,7 +307,7 @@ static int idev_evdev_resume(idev_evdev *evdev, int dev_fd) {
Zbigniew Jędrzejewski-Szmek 62fe94
 
Zbigniew Jędrzejewski-Szmek 62fe94
         flags = fcntl(fd, F_GETFL, 0);
Zbigniew Jędrzejewski-Szmek 62fe94
         if (flags < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
-                return r;
Zbigniew Jędrzejewski-Szmek 62fe94
+                return -errno;
Zbigniew Jędrzejewski-Szmek 62fe94
 
Zbigniew Jędrzejewski-Szmek 62fe94
         flags &= O_ACCMODE;
Zbigniew Jędrzejewski-Szmek 62fe94
         if (flags == O_WRONLY)