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;
                }
        }

Reply via email to