From bde6261aed330cd8d108c387bfe659a6171525dd Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Wed, 5 Apr 2017 19:21:33 +0100 Subject: [PATCH] -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 * breakpoint.c (dprintf_function, dprintf_channel): Don't initialize. * tracepoint.c (default_collect): Don't initialize. --- gdb/ChangeLog | 5 +++++ gdb/breakpoint.c | 4 ++-- gdb/tracepoint.c | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 4b0024798c2..925cb947c2f 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2017-04-05 Pedro Alves + + * breakpoint.c (dprintf_function, dprintf_channel): Don't initialize. + * tracepoint.c (default_collect): Don't initialize. + 2017-04-05 Pedro Alves * macroexp.c (macro_buffer::shared): Now a bool. diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index ab6e9c8ffc7..f0db3e44b62 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 2da6fdd5434..87ef1418e6d 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; -- 2.30.2