aboutsummaryrefslogtreecommitdiff
path: root/gdb/mi
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@ericsson.com>2016-10-17 16:47:36 -0400
committerSimon Marchi <simon.marchi@ericsson.com>2016-10-17 16:48:25 -0400
commit5bad3170301060ee0801a739ffc213abae664973 (patch)
tree947ca14ed550a862bb5ed8e24862622531dc4e28 /gdb/mi
parent5562a44eb490b5777c9e786971907c0727d88495 (diff)
downloadgdb-5bad3170301060ee0801a739ffc213abae664973.zip
gdb-5bad3170301060ee0801a739ffc213abae664973.tar.gz
gdb-5bad3170301060ee0801a739ffc213abae664973.tar.bz2
Fix -trace-save crash when argument is missing
-trace-save doesn't check whether an argument is passed, leading to a segfault if you pass nothing. I added a small test, which only tests the error conditions of -trace-save. gdb/ChangeLog: * mi/mi-main.c (mi_cmd_trace_save): Check if argument is present before using it. gdb/testsuite/ChangeLog: * gdb.trace/mi-trace-save.exp: New file.
Diffstat (limited to 'gdb/mi')
-rw-r--r--gdb/mi/mi-main.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gdb/mi/mi-main.c b/gdb/mi/mi-main.c
index 7cd9706..81e82ed 100644
--- a/gdb/mi/mi-main.c
+++ b/gdb/mi/mi-main.c
@@ -2699,6 +2699,11 @@ mi_cmd_trace_save (char *command, char **argv, int argc)
break;
}
}
+
+ if (argc - oind != 1)
+ error (_("Exactly one argument required "
+ "(file in which to save trace data)"));
+
filename = argv[oind];
if (generate_ctf)