From 6f4da994a2c7a6d6fb2feca79dfddc617a8b9377 Mon Sep 17 00:00:00 2001 From: Alejandro Martinez Date: Wed, 26 Oct 2022 11:17:23 -0300 Subject: [PATCH] Strava download - avoid crashes when lap swim file has 0 lenght lap Includes sample file from users forum --- src/Cloud/Strava.cpp | 2 +- test/swims/Morning_Swim.fit | Bin 0 -> 7164 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 test/swims/Morning_Swim.fit diff --git a/src/Cloud/Strava.cpp b/src/Cloud/Strava.cpp index 18247a6a4..159addffb 100644 --- a/src/Cloud/Strava.cpp +++ b/src/Cloud/Strava.cpp @@ -973,7 +973,7 @@ Strava::prepareResponse(QByteArray* data) double start = starttime.secsTo(QDateTime::fromString(lap["start_date_local"].toString(), Qt::ISODate)); if (start < last_lap) start = last_lap + 1; // Don't overlap - double end = start + lap["elapsed_time"].toDouble() - 1; + double end = start + std::max(lap["elapsed_time"].toDouble(), 1.0) - 1; last_lap = end; diff --git a/test/swims/Morning_Swim.fit b/test/swims/Morning_Swim.fit new file mode 100644 index 0000000000000000000000000000000000000000..cb060e7bcd7a53ebf15976e3b5e334d843264e8a GIT binary patch literal 7164 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 literal 0 HcmV?d00001