aboutsummaryrefslogtreecommitdiffstats
path: root/evtest-capture.c
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2009-11-10 13:59:48 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2009-11-11 09:35:18 +1000
commitefb4ebc4a9b9504d3e7c6988e265ee5906c87707 (patch)
treed5d8c96a0df3c12f6c8c649f6cde35da678e0aa9 /evtest-capture.c
parentb789c888a847fa861ad1d3e1f70b16d4a99e9fe0 (diff)
downloadexternal_evtest-efb4ebc4a9b9504d3e7c6988e265ee5906c87707.tar.gz
external_evtest-efb4ebc4a9b9504d3e7c6988e265ee5906c87707.tar.bz2
external_evtest-efb4ebc4a9b9504d3e7c6988e265ee5906c87707.zip
evtest-capture: don't segfault on invalid devices.
Invalid devices cause a cleanup, including freeing of the previously random-memory 'writer' pointer. Included - minor typo fix, perror includes the ':' at the end of the string already. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'evtest-capture.c')
-rw-r--r--evtest-capture.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/evtest-capture.c b/evtest-capture.c
index 5ced17d..0ecf7fd 100644
--- a/evtest-capture.c
+++ b/evtest-capture.c
@@ -800,7 +800,7 @@ int main(int argc, char **argv)
int rc;
char *outfile = "evtest-capture.xml";
- xmlTextWriterPtr writer;
+ xmlTextWriterPtr writer = NULL;
if (argc < 2) {
printf("Usage: %s /dev/input/eventX [evtest-capture.xml]\n", argv[0]);
@@ -829,9 +829,10 @@ int main(int argc, char **argv)
return 0;
error:
- xmlTextWriterEndDocument(writer);
+ if (writer)
+ xmlTextWriterEndDocument(writer);
xmlCleanupParser();
- perror("Failed with error:");
+ perror("Failed with error");
return 1;
}