From b9d6130764916fac3d9bcfde2d672053a0ef3316 Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Mon, 2 Feb 2015 14:57:31 -0500 Subject: "enable count" user input error handling (PR gdb/15678) Typing "enable count" by itself crashes GDB. Also, if you omit the breakpoint number/range, the error message is not very clear: (gdb) enable count 2 warning: bad breakpoint number at or near '' (gdb) enable count Segmentation fault (core dumped) With this patch, the error messages are slightly more helpful: (gdb) enable count 2 Argument required (one or more breakpoint numbers). (gdb) enable count Argument required (hit count). gdb/ChangeLog: PR gdb/15678 * breakpoint.c (map_breakpoint_numbers): Check for empty args string. (enable_count_command): Check args for NULL value. gdb/testsuite/ChangeLog: PR gdb/15678 * gdb.base/ena-dis-br.exp: Test "enable count" for bad user input. --- gdb/testsuite/ChangeLog | 5 +++++ gdb/testsuite/gdb.base/ena-dis-br.exp | 8 ++++++++ 2 files changed, 13 insertions(+) (limited to 'gdb/testsuite') diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index f8ca4e8..c458bd7 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2015-02-06 Simon Marchi + + PR gdb/15678 + * gdb.base/ena-dis-br.exp: Test "enable count" for bad user input. + 2015-02-06 Pedro Alves * gdb.threads/attach-many-short-lived-threads.c (SECONDS): New diff --git a/gdb/testsuite/gdb.base/ena-dis-br.exp b/gdb/testsuite/gdb.base/ena-dis-br.exp index adb4001..84f84cae 100644 --- a/gdb/testsuite/gdb.base/ena-dis-br.exp +++ b/gdb/testsuite/gdb.base/ena-dis-br.exp @@ -151,6 +151,14 @@ set bp [break_at $bp_location7 "line $bp_location7"] set bp2 [break_at marker1 " line $bp_location15"] +gdb_test "enable count" \ + "Argument required \\(hit count\\)\\." \ + "enable count missing arguments" + +gdb_test "enable count 2" \ + "Argument required \\(one or more breakpoint numbers\\)\\." \ + "enable count missing breakpoint number" + gdb_test_no_output "enable count 2 $bp" "disable break with count" gdb_test "continue" \ -- cgit v1.1