From aa6358bba8393230db6d5f196aa132c90fd91804 Mon Sep 17 00:00:00 2001 From: Andreas Griesshammer Date: Tue, 5 May 2026 11:08:20 +0200 Subject: [PATCH] Segfault when opening FIF files saved from MNE Python. Gantry angle is saved as FIFFT_FLOAT by MNE Python and as FIFFT_INT by mne-cpp --- src/libraries/fiff/fiff_stream.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/libraries/fiff/fiff_stream.cpp b/src/libraries/fiff/fiff_stream.cpp index 177e2729ba..ea1b8f3207 100644 --- a/src/libraries/fiff/fiff_stream.cpp +++ b/src/libraries/fiff/fiff_stream.cpp @@ -1186,7 +1186,12 @@ bool FiffStream::read_meas_info(const FiffDirNode::SPtr& p_Node, FiffInfo& info, break; case FIFF_GANTRY_ANGLE: this->read_tag(t_pTag,pos); - gantry_angle = *t_pTag->toInt(); + // MNE-Python writes this as float; older writers used int. + if (t_pTag->getType() == FIFFT_FLOAT) { + gantry_angle = static_cast(*t_pTag->toFloat()); + } else if (t_pTag->getType() == FIFFT_INT) { + gantry_angle = *t_pTag->toInt(); + } break; case FIFF_UTC_OFFSET: this->read_tag(t_pTag,pos);