[PATCH 1/3] Correctly initialize the TUI locator window

Patrick Palka
2015-06-27T02:35:55Z

The call to tui_alloc_content in tui_set_locator_info passes
locator->type as the type of the window whose content is being
allocated. This may seem correct but it's actually not because when
this code path actually get executed locator->type has not yet been to
set LOCATOR_WIN so it defaults to 0 i.e. SRC_WIN. Thus we allocate the
content of the locator window as if it was the source window. This
oversight turns out not to be a big deal in practice but the patch that
follows depends on the locator's proc_name and full_name arrays to be
initialized to the empty string which is done by tui_alloc_content if
we pass to it LOCATOR_WIN.

This patch fixes this bug by explicitly passing LOCATOR_WIN to
tui_alloc_content.

gdb/ChangeLog:

* tui/tui-stack.c (tui_set_locator_info): Explicitly pass
LOCATOR_WIN to tui_alloc_content.
---
gdb/tui/tui-stack.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gdb/tui/tui-stack.c b/gdb/tui/tui-stack.c
index 2870d70..b17d303 100644
--- a/gdb/tui/tui-stack.c
+++ b/gdb/tui/tui-stack.c
@@ -306,7 +306,7 @@ tui_set_locator_info (struct gdbarch *gdbarch,
/* Allocate the locator content if necessary. */
if (locator->content_size <= 0)
{
- locator->content = tui_alloc_content (1, locator->type);
+ locator->content = tui_alloc_content (1, LOCATOR_WIN);
locator->content_size = 1;
}

--
2.5.0.rc0.5.g91e10c5.dirty