From 8f038f1385109481a3200fc6f1e1edc6edbb40c5 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Sat, 11 Oct 2025 09:49:58 +1100 Subject: [PATCH 1/2] Avoid indexing past vector length --- src/stan/services/pathfinder/multi.hpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/stan/services/pathfinder/multi.hpp b/src/stan/services/pathfinder/multi.hpp index c91946a468..1478574d35 100644 --- a/src/stan/services/pathfinder/multi.hpp +++ b/src/stan/services/pathfinder/multi.hpp @@ -343,11 +343,13 @@ inline int pathfinder_lbfgs_multi( sample_row.tail(uc_param_size) = approx_samples_constrained_col; safe_write(sample_row); // If we see the same draw idx more than once, just increment j and - // write again - while (j < (single_path_psis_idxs[i].second) - && draw_idx == psis_draw_idxs.coeff(j + 1)) { - safe_write(sample_row); - ++j; + // write again if there are remaining draws + if (j < (psis_draw_idxs.size() - 1)) { + while (j < (single_path_psis_idxs[i].second) + && draw_idx == psis_draw_idxs.coeff(j + 1)) { + safe_write(sample_row); + ++j; + } } } } From f942abccbe2646381388426fee480ea93be57505 Mon Sep 17 00:00:00 2001 From: Stan Jenkins Date: Fri, 10 Oct 2025 21:45:10 -0400 Subject: [PATCH 2/2] [Jenkins] auto-formatting by clang-format version 10.0.0-4ubuntu1 --- src/stan/services/pathfinder/multi.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/stan/services/pathfinder/multi.hpp b/src/stan/services/pathfinder/multi.hpp index 1478574d35..6eecba35bd 100644 --- a/src/stan/services/pathfinder/multi.hpp +++ b/src/stan/services/pathfinder/multi.hpp @@ -346,7 +346,7 @@ inline int pathfinder_lbfgs_multi( // write again if there are remaining draws if (j < (psis_draw_idxs.size() - 1)) { while (j < (single_path_psis_idxs[i].second) - && draw_idx == psis_draw_idxs.coeff(j + 1)) { + && draw_idx == psis_draw_idxs.coeff(j + 1)) { safe_write(sample_row); ++j; }