diff options
author | Patrick Palka <patrick@parcs.ath.cx> | 2015-04-25 10:29:29 -0400 |
---|---|---|
committer | Patrick Palka <patrick@parcs.ath.cx> | 2015-04-27 21:19:58 -0400 |
commit | 2eb639cbe4baa33545ca008d6054ea5db1d8f6a8 (patch) | |
tree | 75913443c4e5dade016d08610cded0bd1451ae2b | |
parent | 9720679936fc4f710d718f13d903c7826e048a36 (diff) | |
download | gdb-2eb639cbe4baa33545ca008d6054ea5db1d8f6a8.zip gdb-2eb639cbe4baa33545ca008d6054ea5db1d8f6a8.tar.gz gdb-2eb639cbe4baa33545ca008d6054ea5db1d8f6a8.tar.bz2 |
TUI: avoid calling strcpy() on identical string objects
In tui_set_source_content(), when offset == 0 the source and destination
pointers of the call to strcpy() are actually the same. In this case
not only is strcpy() unnecessary but it is also UB when the two strings
overlap.
gdb/ChangeLog:
* tui/tui-source.c (tui_set_source_content): Avoid calling
strcpy() when offset is 0.
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/tui/tui-source.c | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 1ff7a75..d833876 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,10 @@ 2015-04-28 Patrick Palka <patrick@parcs.ath.cx> + * tui/tui-source.c (tui_set_source_content): Avoid calling + strcpy() when offset is 0. + +2015-04-28 Patrick Palka <patrick@parcs.ath.cx> + PR gdb/18155 * tui/tui-data.c (tui_free_window): Don't free the locator window when passed an SRC_WIN or a DISASSEM_WIN. diff --git a/gdb/tui/tui-source.c b/gdb/tui/tui-source.c index 31df0c8..018a1df 100644 --- a/gdb/tui/tui-source.c +++ b/gdb/tui/tui-source.c @@ -218,7 +218,9 @@ tui_set_source_content (struct symtab *s, } /* Now copy the line taking the offset into account. */ - if (strlen (src_line) > offset) + if (offset == 0) + ; + else if (strlen (src_line) > offset) strcpy (TUI_SRC_WIN->generic.content[cur_line] ->which_element.source.line, &src_line[offset]); |