commit ca217fbfaa0de63f9ece0278251ca2239ee7fb52
Author: Jean-Marc Lasgouttes <[email protected]>
Date: Sat Jul 13 00:10:32 2019 +0200
Check regex_match result when parsing cvslog
Spotted by coverity.
---
src/VCBackend.cpp | 14 ++++++++------
1 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/src/VCBackend.cpp b/src/VCBackend.cpp
index 957c69f..3a4ecb4 100644
--- a/src/VCBackend.cpp
+++ b/src/VCBackend.cpp
@@ -734,12 +734,14 @@ void CVS::getRevisionInfo()
LYXERR(Debug::LYXVC, line << '\n');
if (prefixIs(line, "date:")) {
smatch sm;
- regex_match(line, sm, reg);
- //sm[0]; // whole matched string
- rev_date_cache_ = sm[1];
- rev_time_cache_ = sm[2];
- //sm[3]; // GMT offset
- rev_author_cache_ = sm[4];
+ if (regex_match(line, sm, reg)) {
+ //sm[0]; // whole matched string
+ rev_date_cache_ = sm[1];
+ rev_time_cache_ = sm[2];
+ //sm[3]; // GMT offset
+ rev_author_cache_ = sm[4];
+ } else
+ LYXERR(Debug::LYXVC, "\tCannot parse line.
Skipping.");
break;
}
}