From 77784f01127b865e98dee3864c2c52f2848ec4a7 Mon Sep 17 00:00:00 2001 From: Till Harbaum Date: Mon, 27 Apr 2026 15:06:21 +0200 Subject: [PATCH] Efinix: Check for presence of mode header value before checking it --- src/efinix.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/efinix.cpp b/src/efinix.cpp index 899f099..6884a67 100644 --- a/src/efinix.cpp +++ b/src/efinix.cpp @@ -218,10 +218,13 @@ void Efinix::program(unsigned int offset, bool unprotect_flash) throw std::runtime_error("device mismatch: " + device + " != " + target); } } - std::string mode = bit->getHeaderVal("mode"); - if (mode.find("passive") != std::string::npos) { - delete bit; - throw std::runtime_error("passive mode not supported for flash"); + std::map hdr = bit->getHeader(); + if(hdr.find("mode") != hdr.end()) { + std::string mode = bit->getHeaderVal("mode"); + if (mode.find("passive") != std::string::npos) { + delete bit; + throw std::runtime_error("passive mode not supported for flash"); + } } } catch (std::runtime_error& e) { throw;