From 6e493e595dbfbe96648d9d92e8d0c4d5c5fda558 Mon Sep 17 00:00:00 2001 From: Olivier Tonck Date: Wed, 8 Oct 2025 10:52:27 +0200 Subject: [PATCH] fixed a regression introduced with epicam (segfault on badly defined networks, when a link has a CAF up or down but no authorized move defined). --- src/XMLDocTrafic.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/XMLDocTrafic.cpp b/src/XMLDocTrafic.cpp index 9cf514d..63f4fc8 100644 --- a/src/XMLDocTrafic.cpp +++ b/src/XMLDocTrafic.cpp @@ -1444,7 +1444,7 @@ void XMLDocTrafic::AddTroncon(const std::string & strLibelle, Point* pPtAm, Poin // For EPiCAM : added the previous and next links in SYM_TRONCON nodes to help identify the CAF's internal trajectory a vehicle is on std::string upstreamLinkNames, downstreamLinkNames; - for (size_t iDownLink = 0; iDownLink < pTuyau->getConnectionAval()->m_LstTuyAv.size(); iDownLink++) + for (size_t iDownLink = 0; pTuyau->getConnectionAval() && iDownLink < pTuyau->getConnectionAval()->m_LstTuyAv.size(); iDownLink++) { if (iDownLink > 0) { @@ -1452,7 +1452,7 @@ void XMLDocTrafic::AddTroncon(const std::string & strLibelle, Point* pPtAm, Poin } downstreamLinkNames += pTuyau->getConnectionAval()->m_LstTuyAv[iDownLink]->GetLabel(); } - for (size_t iUpLink = 0; iUpLink < pTuyau->getConnectionAmont()->m_LstTuyAm.size(); iUpLink++) + for (size_t iUpLink = 0; pTuyau->getConnectionAmont() && iUpLink < pTuyau->getConnectionAmont()->m_LstTuyAm.size(); iUpLink++) { if (iUpLink > 0) {