Linux vmi284606.contaboserver.net 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64
Apache/2.4.57 (Ubuntu)
: 167.86.127.34 | : 216.73.217.31
Cant Read [ /etc/named.conf ]
7.2.24-0ubuntu0.18.04.17
root
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
local /
go /
test /
fixedbugs /
issue24693.dir /
[ HOME SHELL ]
Name
Size
Permission
Action
a.go
246
B
-rw-r--r--
b.go
1.23
KB
-rw-r--r--
c.go
230
B
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : b.go
// Copyright 2018 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package b import "./a" type T struct{ a.T } func (T) m() { println("ok") } // The compiler used to not pay attention to package for non-exported // methods when statically constructing itabs. The consequence of this // was that the call to b.F1(b.T{}) in c.go would create an itab using // a.T.m instead of b.T.m. func F1(i interface{ m() }) { i.m() } // The interface method calling convention depends on interface method // sets being sorted in the same order across compilation units. In // the test case below, at the call to b.F2(b.T{}) in c.go, the // interface method set is sorted as { a.m(); b.m() }. // // However, while compiling package b, its package path is set to "", // so the code produced for F2 uses { b.m(); a.m() } as the method set // order. So again, it ends up calling the wrong method. // // Also, this function is marked noinline because it's critical to the // test that the interface method call happen in this compilation // unit, and the itab construction happens in c.go. // //go:noinline func F2(i interface { m() a.I // embeds m() from package a }) { i.m() }
Close