Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEugene Tarassov2012-05-10 20:39:55 +0000
committerEugene Tarassov2012-05-10 20:39:55 +0000
commit581fea223903b468076a8aee77e4decbbfa61c7c (patch)
tree5a6aa5358e586c40016f71e98cbe95eda6359257
parent46400c93c43282818a7be46e496df73ccf71aac6 (diff)
downloadorg.eclipse.tcf.agent-581fea223903b468076a8aee77e4decbbfa61c7c.tar.gz
org.eclipse.tcf.agent-581fea223903b468076a8aee77e4decbbfa61c7c.tar.xz
org.eclipse.tcf.agent-581fea223903b468076a8aee77e4decbbfa61c7c.zip
TCF Agent: fixed seg fault in Symbols.getContext when the symbol represents a register variable
-rw-r--r--agent/tcf/services/symbols.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/agent/tcf/services/symbols.c b/agent/tcf/services/symbols.c
index 4fdbf7b8..5a257926 100644
--- a/agent/tcf/services/symbols.c
+++ b/agent/tcf/services/symbols.c
@@ -89,8 +89,6 @@ static void command_get_context_cache_client(void * x) {
ContextAddress offset = 0;
ContextAddress address = 0;
RegisterDefinition * reg = NULL;
- Context * reg_ctx = NULL;
- int reg_frame = 0;
SYM_FLAGS flags = 0;
void * value = NULL;
size_t value_size = 0;
@@ -261,10 +259,10 @@ static void command_get_context_cache_client(void * x) {
write_stream(&c->out, ',');
}
- if (reg != NULL) {
+ if (reg != NULL && has_frame) {
json_write_string(&c->out, "Register");
write_stream(&c->out, ':');
- json_write_string(&c->out, register2id(reg_ctx, reg_frame, reg));
+ json_write_string(&c->out, register2id(ctx, frame, reg));
write_stream(&c->out, ',');
}

Back to the top