Index: blockframe.c =================================================================== RCS file: /cvs/src/src/gdb/blockframe.c,v retrieving revision 1.110 diff -u -p -r1.110 blockframe.c --- blockframe.c 19 Jul 2006 02:17:23 -0000 1.110 +++ blockframe.c 6 Oct 2006 00:47:59 -0000 @@ -358,14 +358,15 @@ block_innermost_frame (struct block *blo start = BLOCK_START (block); end = BLOCK_END (block); - frame = NULL; - while (1) + frame = get_current_frame (); + while (frame != NULL) { - frame = get_prev_frame (frame); - if (frame == NULL) - return NULL; calling_pc = get_frame_address_in_block (frame); if (calling_pc >= start && calling_pc < end) return frame; + + frame = get_prev_frame (frame); } + + return NULL; }