Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEugene Tarassov2013-04-03 18:21:55 -0400
committerEugene Tarassov2013-04-03 18:21:55 -0400
commit931c1488cc21825c02f3355f775b188b1c6a2e4d (patch)
treed1a0aa44ad88fb969a2005192efe3814d691e729
parent1eebbe387b39fb57392e35246fed141cfd949510 (diff)
downloadorg.eclipse.tcf.agent-931c1488cc21825c02f3355f775b188b1c6a2e4d.tar.gz
org.eclipse.tcf.agent-931c1488cc21825c02f3355f775b188b1c6a2e4d.tar.xz
org.eclipse.tcf.agent-931c1488cc21825c02f3355f775b188b1c6a2e4d.zip
Bug 404782 - Stacktrace service: get_next_stack_frame() may invoke get_stack_tracing_info() with an invalid ip value
-rw-r--r--agent/tcf/services/symbols_proxy.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/agent/tcf/services/symbols_proxy.c b/agent/tcf/services/symbols_proxy.c
index b9803c3c..b213cba7 100644
--- a/agent/tcf/services/symbols_proxy.c
+++ b/agent/tcf/services/symbols_proxy.c
@@ -1624,7 +1624,9 @@ int get_stack_tracing_info(Context * ctx, ContextAddress ip, StackTracingInfo **
if (c->pending != NULL) {
cache_wait(&c->cache);
}
- else if (c->sti.addr <= ip && c->sti.addr + c->sti.size > ip) {
+ else if (c->sti.addr <= ip &&
+ (c->sti.addr + c->sti.size > ip ||
+ c->sti.addr + c->sti.size < c->sti.addr)) {
f = c;
break;
}

Back to the top