This is the mail archive of the gdb-cvs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] -Wwrite-strings: Don't initialize string command variables to empty string


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=bde6261aed330cd8d108c387bfe659a6171525dd

commit bde6261aed330cd8d108c387bfe659a6171525dd
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Apr 5 19:21:33 2017 +0100

    -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.

Diff:
---
 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 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;


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]