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.
This commit is contained in:
Patrick Palka 2015-04-25 10:29:29 -04:00
parent 9720679936
commit 2eb639cbe4
2 changed files with 8 additions and 1 deletions

View File

@ -1,3 +1,8 @@
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

View File

@ -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]);