diff options
author | Simon Marchi <simon.marchi@ericsson.com> | 2016-10-17 16:47:36 -0400 |
---|---|---|
committer | Simon Marchi <simon.marchi@ericsson.com> | 2016-10-17 16:48:25 -0400 |
commit | 5bad3170301060ee0801a739ffc213abae664973 (patch) | |
tree | 947ca14ed550a862bb5ed8e24862622531dc4e28 /gdb/mi | |
parent | 5562a44eb490b5777c9e786971907c0727d88495 (diff) | |
download | gdb-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.c | 5 |
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) |