aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2017-04-05 19:21:33 +0100
committerPedro Alves <palves@redhat.com>2017-04-05 19:21:33 +0100
commitbde6261aed330cd8d108c387bfe659a6171525dd (patch)
tree48d29babc116b1f69d5ec97969b87288f581efef /gdb
parentb38ef47f47bda5509babd768092ceb09ab98828d (diff)
downloadbinutils-bde6261aed330cd8d108c387bfe659a6171525dd.zip
binutils-bde6261aed330cd8d108c387bfe659a6171525dd.tar.gz
binutils-bde6261aed330cd8d108c387bfe659a6171525dd.tar.bz2
-Wwrite-strings: Don't initialize string command variables to empty string
-Wwrite-strings flags these initializations as requiring a cast. However, these variables are command variables, and as such point to heap-allocated memory. The initial allocation is always done when the corresponding command is registered. E.g.,: dprintf_function = xstrdup ("printf"); add_setshow_string_cmd ("dprintf-function", class_support, &dprintf_function, _("\ Set the function to use for dynamic printf"), _("\ Show the function to use for dynamic printf"), NULL, update_dprintf_commands, NULL, &setlist, &showlist); That's why we never reach a bogus attempt to free these string literals. So, just drop the incorrect initializations. gdb/ChangeLog: 2017-04-05 Pedro Alves <palves@redhat.com> * breakpoint.c (dprintf_function, dprintf_channel): Don't initialize. * tracepoint.c (default_collect): Don't initialize.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/breakpoint.c4
-rw-r--r--gdb/tracepoint.c2
3 files changed, 8 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 4b00247..925cb94 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,10 @@
2017-04-05 Pedro Alves <palves@redhat.com>
+ * breakpoint.c (dprintf_function, dprintf_channel): Don't initialize.
+ * tracepoint.c (default_collect): Don't initialize.
+
+2017-04-05 Pedro Alves <palves@redhat.com>
+
* macroexp.c (macro_buffer::shared): Now a bool.
(init_buffer): Update.
(init_shared_buffer): Constify 'addr' parameter.
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
index ab6e9c8..f0db3e4 100644
--- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c
@@ -345,7 +345,7 @@ static const char *dprintf_style = dprintf_style_gdb;
copied into the command, so it can be anything that GDB can
evaluate to a callable address, not necessarily a function name. */
-static char *dprintf_function = "";
+static char *dprintf_function;
/* The channel to use for dynamic printf if the preferred style is to
call into the inferior; if a nonempty string, it will be passed to
@@ -355,7 +355,7 @@ static char *dprintf_function = "";
"stderr", this could be an app-specific expression like
"mystreams[curlogger]". */
-static char *dprintf_channel = "";
+static char *dprintf_channel;
/* True if dprintf commands should continue to operate even if GDB
has disconnected. */
diff --git a/gdb/tracepoint.c b/gdb/tracepoint.c
index 2da6fdd..87ef141 100644
--- a/gdb/tracepoint.c
+++ b/gdb/tracepoint.c
@@ -139,7 +139,7 @@ static struct traceframe_info *traceframe_info;
static struct cmd_list_element *tfindlist;
/* List of expressions to collect by default at each tracepoint hit. */
-char *default_collect = "";
+char *default_collect;
static int disconnected_tracing;