|
Peter Hutterer |
9264f1b |
From 8c253b18369ed02b8fb282970e974cad4de7fab5 Mon Sep 17 00:00:00 2001
|
|
Peter Hutterer |
9264f1b |
From: Benjamin Tissoires <benjamin.tissoires@gmail.com>
|
|
Peter Hutterer |
9264f1b |
Date: Thu, 31 Jan 2013 09:07:54 +1000
|
|
Peter Hutterer |
9264f1b |
Subject: [PATCH] Don't segfault when not using stdout
|
|
Peter Hutterer |
9264f1b |
|
|
Peter Hutterer |
9264f1b |
when using:
|
|
Peter Hutterer |
9264f1b |
$ evemu-record /dev/input/event21 record.txt
|
|
Peter Hutterer |
9264f1b |
|
|
Peter Hutterer |
9264f1b |
And hitting Ctrl-C, the program segfault, because it tries to close two
|
|
Peter Hutterer |
9264f1b |
times the output file descriptor.
|
|
Peter Hutterer |
9264f1b |
|
|
Peter Hutterer |
9264f1b |
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Peter Hutterer |
9264f1b |
---
|
|
Peter Hutterer |
9264f1b |
tools/evemu-record.c | 6 ++++--
|
|
Peter Hutterer |
9264f1b |
1 file changed, 4 insertions(+), 2 deletions(-)
|
|
Peter Hutterer |
9264f1b |
|
|
Peter Hutterer |
9264f1b |
diff --git a/tools/evemu-record.c b/tools/evemu-record.c
|
|
Peter Hutterer |
9264f1b |
index 6c5e98d..4417ae1 100644
|
|
Peter Hutterer |
9264f1b |
--- a/tools/evemu-record.c
|
|
Peter Hutterer |
9264f1b |
+++ b/tools/evemu-record.c
|
|
Peter Hutterer |
9264f1b |
@@ -53,8 +53,10 @@ FILE *output;
|
|
Peter Hutterer |
9264f1b |
static void handler (int sig __attribute__((unused)))
|
|
Peter Hutterer |
9264f1b |
{
|
|
Peter Hutterer |
9264f1b |
fflush(output);
|
|
Peter Hutterer |
9264f1b |
- if (output != stdout)
|
|
Peter Hutterer |
9264f1b |
+ if (output != stdout) {
|
|
Peter Hutterer |
9264f1b |
fclose(output);
|
|
Peter Hutterer |
9264f1b |
+ output = NULL;
|
|
Peter Hutterer |
9264f1b |
+ }
|
|
Peter Hutterer |
9264f1b |
}
|
|
Peter Hutterer |
9264f1b |
|
|
Peter Hutterer |
9264f1b |
int main(int argc, char *argv[])
|
|
Peter Hutterer |
9264f1b |
@@ -102,7 +104,7 @@ int main(int argc, char *argv[])
|
|
Peter Hutterer |
9264f1b |
fprintf(stderr, "error: could not describe device\n");
|
|
Peter Hutterer |
9264f1b |
}
|
|
Peter Hutterer |
9264f1b |
close(fd);
|
|
Peter Hutterer |
9264f1b |
- if (output != stdout)
|
|
Peter Hutterer |
9264f1b |
+ if (output && output != stdout)
|
|
Peter Hutterer |
9264f1b |
fclose(output);
|
|
Peter Hutterer |
9264f1b |
return 0;
|
|
Peter Hutterer |
9264f1b |
}
|
|
Peter Hutterer |
9264f1b |
--
|
|
Peter Hutterer |
9264f1b |
1.8.1
|
|
Peter Hutterer |
9264f1b |
|