This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH] TUI: avoid calling strcpy() on indentical string objects
- From: Patrick Palka <patrick at parcs dot ath dot cx>
- To: gdb-patches at sourceware dot org
- Cc: Patrick Palka <patrick at parcs dot ath dot cx>
- Date: Sun, 26 Apr 2015 11:17:20 -0400
- Subject: [PATCH] TUI: avoid calling strcpy() on indentical string objects
- Authentication-results: sourceware.org; auth=none
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.
---
gdb/tui/tui-source.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
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]);
--
2.4.0.rc2.31.g7c597ef