aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAustin Clements <aclements@csail.mit.edu>2009-09-04 16:12:50 -0700
committerAustin Clements <aclements@csail.mit.edu>2009-09-04 16:12:50 -0700
commiteabcb10a326bee8337af9ce7429bb46dd97ba2c0 (patch)
tree9d1c64b6e28967d0fc2a711e1bb820c4e11cdd2a
parentc702bdd8285988ca5365398cc13127fc00c35cc8 (diff)
downloadgo-eabcb10a326bee8337af9ce7429bb46dd97ba2c0.tar.xz
Don't crash in Sym.ReceiverName for symbols like "x.x"
R=rsc APPROVED=rsc DELTA=2 (0 added, 0 deleted, 2 changed) OCL=34404 CL=34406
-rw-r--r--src/pkg/debug/gosym/symtab.go2
-rw-r--r--usr/austin/sym/gosymtab.go2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/pkg/debug/gosym/symtab.go b/src/pkg/debug/gosym/symtab.go
index d236be5153..ece74f19d5 100644
--- a/src/pkg/debug/gosym/symtab.go
+++ b/src/pkg/debug/gosym/symtab.go
@@ -52,7 +52,7 @@ func (s *Sym) PackageName() string {
func (s *Sym) ReceiverName() string {
l := strings.Index(s.Name, ".");
r := strings.LastIndex(s.Name, ".");
- if l == -1 || r == -1 {
+ if l == -1 || r == -1 || l == r {
return "";
}
return s.Name[l+1:r];
diff --git a/usr/austin/sym/gosymtab.go b/usr/austin/sym/gosymtab.go
index 1ecfb42099..e9519a3e54 100644
--- a/usr/austin/sym/gosymtab.go
+++ b/usr/austin/sym/gosymtab.go
@@ -63,7 +63,7 @@ func (c *CommonSym) PackageName() string {
func (c *CommonSym) ReceiverName() string {
l := strings.Index(c.Name, "·");
r := strings.LastIndex(c.Name, "·");
- if l == -1 || r == -1 {
+ if l == -1 || r == -1 || l == r {
return "";
}
return c.Name[l+len("·"):r];