ROOTPLOIT
Server: LiteSpeed
System: Linux in-mum-web1878.main-hosting.eu 5.14.0-570.21.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jun 11 07:22:35 EDT 2025 x86_64
User: u435929562 (435929562)
PHP: 7.4.33
Disabled: system, exec, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
Upload Files
File: //opt/golang/1.22.0/src/cmd/go/testdata/script/test_fuzz_non_crash_signal.txt
# NOTE: this test is skipped on Windows, since there's no concept of signals.
# When a process terminates another process, it provides an exit code.
[GOOS:windows] skip
[!fuzz] skip
[short] skip
env GOCACHE=$WORK/cache

# FuzzNonCrash sends itself a signal that does not appear to be a crash.
# We should not save a crasher.
! go test -fuzz=FuzzNonCrash
! exists testdata
! stdout unreachable
! stderr unreachable
stdout 'fuzzing process terminated by unexpected signal; no crash will be recorded: signal: terminated'

# FuzzKill sends itself a signal that cannot be caught by the worker process
# and does not appear to be a crash.
# We should not save a crasher.
! go test -fuzz=FuzzKill
! exists testdata
! stdout unreachable
! stderr unreachable
stdout 'fuzzing process terminated by unexpected signal; no crash will be recorded: signal: killed'

# FuzzCrash sends itself a signal that looks like a crash.
# We should save a crasher.
! go test -fuzz=FuzzCrash
exists testdata/fuzz/FuzzCrash
stdout '^\s+fuzzing process hung or terminated unexpectedly: exit status'

-- go.mod --
module test

go 1.17
-- fuzz_posix_test.go --
// +build darwin freebsd linux

package fuzz

import (
	"syscall"
	"testing"
)

func FuzzNonCrash(f *testing.F) {
	f.Fuzz(func(*testing.T, bool) {
		pid := syscall.Getpid()
		if err := syscall.Kill(pid, syscall.SIGTERM); err != nil {
			panic(err)
		}
		// signal may not be received immediately. Wait for it.
		select{}
	})
}

func FuzzKill(f *testing.F) {
	f.Fuzz(func(*testing.T, bool) {
		pid := syscall.Getpid()
		if err := syscall.Kill(pid, syscall.SIGKILL); err != nil {
			panic(err)
		}
		// signal may not be received immediately. Wait for it.
		select{}
	})
}

func FuzzCrash(f *testing.F) {
	f.Fuzz(func(*testing.T, bool) {
		pid := syscall.Getpid()
		if err := syscall.Kill(pid, syscall.SIGILL); err != nil {
			panic(err)
		}
		// signal may not be received immediately. Wait for it.
		select{}
	})
}