From 9c3630e983df43e68006b526a92c2a9a2b64dfd9 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Fri, 9 Feb 2018 05:58:46 -0700 Subject: [PATCH] Don't reference past the end of the vector An earlier change made find_source_lines read: end = &data[size]; However, since 'size' is the size of the vector, this seems fishy. More obviously ok is to compute the end of the data directly: end = data.data () + size; 2018-02-09 Tom Tromey * source.c (find_source_lines): Don't reference past the end of the vector. --- gdb/ChangeLog | 5 +++++ gdb/source.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index f1d662fa15b..b554fce13c3 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2018-02-09 Tom Tromey + + * source.c (find_source_lines): Don't reference past the end of + the vector. + 2018-02-09 Markus Metzger * remote.c (remote_btrace_maybe_reopen): Change error message. diff --git a/gdb/source.c b/gdb/source.c index 9eec58febdd..009bec5285d 100644 --- a/gdb/source.c +++ b/gdb/source.c @@ -1219,7 +1219,7 @@ find_source_lines (struct symtab *s, int desc) size = myread (desc, data.data (), size); if (size < 0) perror_with_name (symtab_to_filename_for_display (s)); - end = &data[size]; + end = data.data () + size; p = &data[0]; line_charpos[0] = 0; nlines = 1; -- 2.30.2