diff options
author | Robert Ancell <robert.ancell@canonical.com> | 2013-09-05 20:11:23 +1200 |
---|---|---|
committer | Robert Ancell <robert.ancell@canonical.com> | 2013-09-05 20:11:23 +1200 |
commit | a754780cd4bb9f72f090c746912514c967df59b2 (patch) | |
tree | cef3a177f909720659d1587b4945882b5e913231 /src/process.c | |
parent | 574acbf2baefb3c7709fd7d03a3c0da60d434ab0 (diff) | |
download | lightdm-a754780cd4bb9f72f090c746912514c967df59b2.tar.gz |
Check return value reading from signal pipe
Diffstat (limited to 'src/process.c')
-rw-r--r-- | src/process.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/process.c b/src/process.c index 819d879a..073cf866 100644 --- a/src/process.c +++ b/src/process.c @@ -322,8 +322,9 @@ handle_signal (GIOChannel *source, GIOCondition condition, gpointer data) pid_t pid; Process *process; - if (read (signal_pipe[0], &signo, sizeof (int)) < 0 || - read (signal_pipe[0], &pid, sizeof (pid_t)) < 0) + errno = 0; + if (read (signal_pipe[0], &signo, sizeof (int)) != sizeof (int) || + read (signal_pipe[0], &pid, sizeof (pid_t)) != sizeof (pid_t)) { g_warning ("Error reading from signal pipe: %s", strerror (errno)); return TRUE; |