From 8c8b2c448801cdcfb4aa6513a0211390cc7aa012 Mon Sep 17 00:00:00 2001 From: Dean Lee Date: Mon, 5 May 2025 01:15:25 +0800 Subject: [PATCH] replay: fix potential timestamp parsing error in Route::load (#35117) Fix potential timestamp parsing error in Route::load --- tools/replay/route.cc | 6 ++++-- tools/replay/route.h | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/tools/replay/route.cc b/tools/replay/route.cc index ff5a858e8c..98fa0e290e 100644 --- a/tools/replay/route.cc +++ b/tools/replay/route.cc @@ -50,9 +50,11 @@ bool Route::load() { return false; } + // Parse the timestamp from the route identifier (only applicable for old route formats). struct tm tm_time = {0}; - strptime(route_.timestamp.c_str(), "%Y-%m-%d--%H-%M-%S", &tm_time); - date_time_ = mktime(&tm_time); + if (strptime(route_.timestamp.c_str(), "%Y-%m-%d--%H-%M-%S", &tm_time)) { + date_time_ = mktime(&tm_time); + } bool ret = data_dir_.empty() ? loadFromServer() : loadFromLocal(); if (ret) { diff --git a/tools/replay/route.h b/tools/replay/route.h index 1806be5afa..fb9f1869f6 100644 --- a/tools/replay/route.h +++ b/tools/replay/route.h @@ -59,7 +59,7 @@ protected: RouteIdentifier route_ = {}; std::string data_dir_; std::map segments_; - std::time_t date_time_; + std::time_t date_time_ = 0; RouteLoadError err_ = RouteLoadError::None; };