JFIF ( %!1"%)-...383.7(-.+  -%&--------------------------------------------------"J !1"AQaq2BR#r3Sbs4T$Dd(!1"2AQaq# ?q& JX"-` Es?Bl 1( H6fX[vʆEiB!j{hu85o%TI/*T `WTXط8%ɀt*$PaSIa9gkG$t h&)ٞ)O.4uCm!w*:K*I&bDl"+ ӹ=<Ӷ|FtI{7_/,/T ̫ԷC ȷMq9[1w!R{ U<?СCԀdc8'124,I'3-G s4IcWq$Ro瓩!"j']VӤ'B4H8n)iv$Hb=B:B=YݚXZILcA g$ΕzuPD? !զIEÁ $D'l"gp`+6֏$1Ľ˫EjUpܣvDت\2Wڰ_iIْ/~'cŧE:ɝBn9&rt,H`*Tf֙LK$#d "p/n$J oJ@'I0B+NRwj2GH.BWLOiGP W@#"@ę| 2@P D2[Vj!VE11pHn,c~T;U"H㤑EBxHClTZ7:х5,w=.`,:Lt1tE9""@pȠb\I_IƝpe &܏/ 3, WE2aDK &cy(3nI7'0W էΠ\&@:נ!oZIܻ1j@=So LJ{5UĜiʒP H{^iaH?U2j@<'13nXkdP&%ɰ&-(<]Vlya7 6c1HJcmǸ!˗GB3Ԏߏ\=qIPNĉA)JeJtEJbIxWbdóT V'0 WH*|D u6ӈHZh[8e  $v>p!rIWeB,i '佧 )g#[)m!tahm_<6nL/ BcT{"HSfp7|ybi8'.ih%,wm  403WebShell
403Webshell
Server IP : 153.92.12.238  /  Your IP : 216.73.216.217
Web Server : LiteSpeed
System : Linux id-dci-web1986.main-hosting.eu 5.14.0-611.26.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Jan 29 05:24:47 EST 2026 x86_64
User : u686484674 ( 686484674)
PHP Version : 8.0.30
Disable Function : system, exec, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/golang/1.22.0/test/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/golang/1.22.0/test/slice3.go
// runoutput

// Copyright 2013 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.

// Test run-time behavior of 3-index slice expressions.

package main

import (
	"bufio"
	"fmt"
	"os"
	"strconv"
)

var bout *bufio.Writer

func main() {
	bout = bufio.NewWriter(os.Stdout)

	fmt.Fprintf(bout, "%s", programTop)
	fmt.Fprintf(bout, "func main() {\n")

	index := []string{
		"0",
		"1",
		"2",
		"3",
		"10",
		"20",
		"vminus1",
		"v0",
		"v1",
		"v2",
		"v3",
		"v10",
		"v20",
	}

	parse := func(s string) (n int, isconst bool) {
		if s == "vminus1" {
			return -1, false
		}
		isconst = true
		if s[0] == 'v' {
			isconst = false
			s = s[1:]
		}
		n, _ = strconv.Atoi(s)
		return n, isconst
	}

	const Cap = 10 // cap of slice, array

	for _, base := range []string{"array", "slice"} {
		for _, i := range index {
			iv, iconst := parse(i)
			for _, j := range index {
				jv, jconst := parse(j)
				for _, k := range index {
					kv, kconst := parse(k)
					// Avoid errors that would make the program not compile.
					// Those are tested by slice3err.go.
					switch {
					case iconst && jconst && iv > jv,
						jconst && kconst && jv > kv,
						iconst && kconst && iv > kv,
						iconst && base == "array" && iv > Cap,
						jconst && base == "array" && jv > Cap,
						kconst && base == "array" && kv > Cap:
						continue
					}

					expr := base + "[" + i + ":" + j + ":" + k + "]"
					var xbase, xlen, xcap int
					if iv > jv || jv > kv || kv > Cap || iv < 0 || jv < 0 || kv < 0 {
						xbase, xlen, xcap = -1, -1, -1
					} else {
						xbase = iv
						xlen = jv - iv
						xcap = kv - iv
					}
					fmt.Fprintf(bout, "\tcheckSlice(%q, func() []byte { return %s }, %d, %d, %d)\n", expr, expr, xbase, xlen, xcap)
				}
			}
		}
	}

	fmt.Fprintf(bout, "\tif !ok { os.Exit(1) }\n")
	fmt.Fprintf(bout, "}\n")
	bout.Flush()
}

var programTop = `
package main

import (
	"fmt"
	"os"
	"unsafe"
)

var ok = true

var (
	array = new([10]byte)
	slice = array[:]

	vminus1 = -1
	v0 = 0
	v1 = 1
	v2 = 2
	v3 = 3
	v4 = 4
	v5 = 5
	v10 = 10
	v20 = 20
)

func notOK() {
	if ok {
		println("BUG:")
		ok = false
	}
}

func checkSlice(desc string, f func() []byte, xbase, xlen, xcap int) {
	defer func() {
		if err := recover(); err != nil {
			if xbase >= 0 {
				notOK()
				println(desc, " unexpected panic: ", fmt.Sprint(err))
			}
		}
		// "no panic" is checked below
	}()
	
	x := f()

	arrayBase := uintptr(unsafe.Pointer(array))
	raw := *(*[3]uintptr)(unsafe.Pointer(&x))
	base, len, cap := raw[0] - arrayBase, raw[1], raw[2]
	if xbase < 0 {
		notOK()
		println(desc, "=", base, len, cap, "want panic")
		return
	}
	if cap != 0 && base != uintptr(xbase) || base >= 10 || len != uintptr(xlen) || cap != uintptr(xcap) {
		notOK()
		if cap == 0 {
			println(desc, "=", base, len, cap, "want", "0-9", xlen, xcap)
		} else {
			println(desc, "=", base, len, cap, "want", xbase, xlen, xcap)
		}
	}
}

`

Youez - 2016 - github.com/yon3zu
LinuXploit