From 32cd40ec3c9dad33738caf6f55fb742a316bd5be Mon Sep 17 00:00:00 2001 From: "Kartik K. Agaram" Date: Fri, 17 Jul 2015 12:51:32 -0700 Subject: 1799 - continue to debug memory corruption of 1795 Things I figured out: - 'row' in render-screen doesn't perfectly track cursor-row in screen - proximal cause was forgetting to add left:number to stop-printing - trying to print to screen outside bounds was silently succeeding and corrupting simulated memory - if we silently ignore prints outside bounds things are fine But why are prints outside screen bounds working? We should be accessing screen data using 'index', and that's checking its bounds. --- 036call_reply.cc | 1 + 1 file changed, 1 insertion(+) (limited to '036call_reply.cc') diff --git a/036call_reply.cc b/036call_reply.cc index 22eeea79..618ad651 100644 --- a/036call_reply.cc +++ b/036call_reply.cc @@ -51,6 +51,7 @@ case REPLY: { raise << current_recipe_name() << ": 'same-as-ingredient' result " << caller_instruction.products.at(i).value << " from call to " << callee << " must be location " << caller_instruction.ingredients.at(ingredient_index).value << '\n'; } } + // End Reply break; // continue to process rest of *caller* instruction } -- cgit 1.4.1-2-gfad0