From 29a443f198bd4a2c3c479310e29863fdbf72dc8c Mon Sep 17 00:00:00 2001 From: caheckman <48068198+caheckman@users.noreply.github.com> Date: Mon, 3 Feb 2025 19:53:26 +0000 Subject: [PATCH] GP-5335 Get rid of refine fencepost --- Ghidra/Features/Decompiler/src/decompile/cpp/heritage.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Ghidra/Features/Decompiler/src/decompile/cpp/heritage.cc b/Ghidra/Features/Decompiler/src/decompile/cpp/heritage.cc index 3d05b1c221..0ddddbf269 100644 --- a/Ghidra/Features/Decompiler/src/decompile/cpp/heritage.cc +++ b/Ghidra/Features/Decompiler/src/decompile/cpp/heritage.cc @@ -1892,10 +1892,11 @@ TaskList::iterator Heritage::refinement(TaskList::iterator memiter,const vector< int4 size = (*memiter).size; if (size > 1024) return disjoint.end(); Address addr = (*memiter).addr; - vector refine(size+1,0); + vector refine(size+1,0); // Add "fencepost" for size position buildRefinement(refine,addr,readvars); buildRefinement(refine,addr,writevars); buildRefinement(refine,addr,inputvars); + refine.pop_back(); // Remove the fencepost int4 lastpos = 0; for(int4 curpos=1;curpos < size;++curpos) { // Convert boundary points to partition sizes if (refine[curpos] != 0) {