]> Cypherpunks repositories - gostls13.git/commitdiff
Don't crash in Sym.ReceiverName for symbols like "x.x"
authorAustin Clements <aclements@csail.mit.edu>
Fri, 4 Sep 2009 23:12:50 +0000 (16:12 -0700)
committerAustin Clements <aclements@csail.mit.edu>
Fri, 4 Sep 2009 23:12:50 +0000 (16:12 -0700)
R=rsc
APPROVED=rsc
DELTA=2  (0 added, 0 deleted, 2 changed)
OCL=34404
CL=34406

src/pkg/debug/gosym/symtab.go
usr/austin/sym/gosymtab.go

index d236be515348ec60aff5f0001f92e257d8333df1..ece74f19d5863220e3ef0e4cabddb4e551309f64 100644 (file)
@@ -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];
index 1ecfb4209904b01ef7f03d9c8b17e5681b4b2f41..e9519a3e547807da20341f48e9899b8a6a1aabed 100644 (file)
@@ -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];