diff options
author | Tom Tromey <tromey@adacore.com> | 2019-03-08 13:59:27 -0700 |
---|---|---|
committer | Tom Tromey <tromey@adacore.com> | 2019-03-14 05:47:11 -0600 |
commit | 3b336828de914a39741339b5341b88aa003d7225 (patch) | |
tree | 78239e64e7f5b42b525f31c45c9deeed2a64489a /gdb/objfiles.c | |
parent | d085f98901ccd6c9764b93d3983f3c7797addc4f (diff) | |
download | binutils-3b336828de914a39741339b5341b88aa003d7225.zip binutils-3b336828de914a39741339b5341b88aa003d7225.tar.gz binutils-3b336828de914a39741339b5341b88aa003d7225.tar.bz2 |
Avoid a crash in source_cache::extract_lines
If the first requested line is larger than the number of lines in the
source buffer, source_cache::extract_lines could crash, because it
would try to pass string::npos" to string::substr.
This patch avoids the crash by checking for this case.
This version of the patch changes get_source_lines to return
std::string.
gdb/ChangeLog
2019-03-14 Tom Tromey <tromey@adacore.com>
* source-cache.h (class source_cache) <get_source_lines>: Return
std::string.
* source-cache.c (source_cache::extract_lines): Handle case where
first_pos==npos. Return std::string.
(source_cache::get_source_lines): Update.
Diffstat (limited to 'gdb/objfiles.c')
0 files changed, 0 insertions, 0 deletions